xamarin 页面内容更改时的动画

g6ll5ycj  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(176)

我已经添加了简单的动画到页面。一切都按预期工作。但是我想添加一些额外的逻辑。目前动画只出现在启动应用程序时,否则OnAppearing不会被激发。我有两个按钮在项目之间导航。如何执行动画每次点击这些按钮?
目前,我正在使用它来动画HomePage.xaml.cs上的内容:

protected override async void OnAppearing()
  {
    base.OnAppearing();

    await Task.Delay(500);
    await this.TransitionIn();
  }

按钮为ViewModel.cs中的ICommands
是否有一些方法可以覆盖像PageRefresh或ContentRefresh或类似的东西?如果没有,是否有一些其他的方法来触发动画?
我在我的应用程序中使用MVVM模式。

slhcrj9b

slhcrj9b1#

有许多动画类针对视觉元素的不同属性,典型的基本动画在.NET MAUI中在一段时间内逐渐将属性从一个值更改为另一个值。
根据您的描述,您可以使用自定义动画方法创建自定义ContentPage,该方法将在页面之间导航时调用。
下面是代码示例供您参考:
1.使用自定义动画方法创建自定义ContentPage,如下所示:

<?xml version="1.0" encoding="utf-8" ?> 
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiApp24.MyAnimatedPage"
             x:Name="MyAnimatedpage"
             Title="MyAnimatedPage">
 
      
</ContentPage>
public partial class MyAnimatedPage : ContentPage 
{
      public MyAnimatedPage()
      {
            InitializeComponent();

            MyAnimatedpage.RotateTo(360, 1000);
            MyAnimatedpage.Content = Content;
      }

      public async Task AnimatedGoto(string url)
      {
        await MyAnimatedpage.RotateXTo(360, 1000);
        await Shell.Current.GoToAsync(url, true);
    }
}

1.在HomePage中使用它,我在Page1中使用它,如下所示:
一个二个一个一个

相关问题