実現したいこと
Xamarin.Formsで、Viewのコードビハインドで定義したアニメーションを他のクラスから呼び出したいのですが、
コードビハインド内で呼び出した時しかアニメーションが動作しません。
このような仕組みを実現するためにはデータバインディングやトリガーアクションが必要なのでしょうか?
必要な場合どのように書けばよろしいでしょうか?
C#の経験が浅く初歩的な質問で恐縮ですが、ご教授お願いいたします。
※なおPrismといったフレームワークは使用していません。(VisualStudio2022未対応のため)
該当のソースコード
View↓
xaml
1... 2 <ContentPage.Content> 3 <Grid x:Name="hoge" Text="Move Test"/> 4 </ContentPage.Content> 5...
コードビハインド↓
c#
1namespace TestPj.Views 2{ 3 public partial class HogePage : ContentPage 4 { 5 public HogePage () 6 { 7 InitializeComponent(); 8 } 9 10 public async Task GridMove 11 { 12 await Task.Delay(3000); //3秒待機(これは動作します) 13 await hoge.TranslateTo(0, 1000, 1000, Easing.CubicOut); //下方向に移動(これが動作しない) 14 } 15 } 16... 17}
呼び出すクラス↓
c#
1namespace TestPj.Models 2{ 3 public class MoveTest 4 { 5 Views.HogePage hogePage = new Views.HogePage(); 6 public async Task MoveExecute 7 { 8 await hogePage.GridMove(); 9 } 10 } 11}
補足
コードビハインド内で呼び出した場合は動作していました。↓
c#
1namespace TestPj.Views 2{ 3 public partial class HogePage : ContentPage 4 { 5 public HogePage () 6 { 7 InitializeComponent(); 8 GridMove(); //動作する 9 } 10 11 public async Task GridMove 12 { 13 await Task.Delay(3000); //3秒待機(動作する) 14 await hoge.TranslateTo(0, 1000, 1000, Easing.CubicOut); //下方向に移動(動作する) 15 } 16 } 17... 18}
環境
VisualStudio 2022
Xamarin.Forms 5.0.0.2244
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/28 07:55