C# windows phone应用程序中的多个页面转换取决于目标页面
如何在windows phone应用程序中根据导航到/从哪个页面实现多个页面转换 例如,我有主页、设置页面和详细信息页面。 我希望在进入/离开设置页面时转换为旋转,在进入/离开详细信息页面时转换为旋转栅门 如何才能做到这一点?这篇文章介绍了使用动画制作页面过渡和其他元素的各种方法 在文章的结尾,有一些例子说明了如何基于按钮点击来动态设置动画 1。定义动画C# windows phone应用程序中的多个页面转换取决于目标页面,c#,wpf,xaml,windows-phone,C#,Wpf,Xaml,Windows Phone,如何在windows phone应用程序中根据导航到/从哪个页面实现多个页面转换 例如,我有主页、设置页面和详细信息页面。 我希望在进入/离开设置页面时转换为旋转,在进入/离开详细信息页面时转换为旋转栅门 如何才能做到这一点?这篇文章介绍了使用动画制作页面过渡和其他元素的各种方法 在文章的结尾,有一些例子说明了如何基于按钮点击来动态设置动画 1。定义动画 private void StartTransition() { RotateTransition rotatetransition
private void StartTransition()
{
RotateTransition rotatetransition = new RotateTransition();
rotatetransition.Mode = RotateTransitionMode.In90Clockwise;
PhoneApplicationPage phoneApplicationPage =
(PhoneApplicationPage)(((PhoneApplicationFrame)Application.Current.RootVisual)).Content;
ITransition transition = rotatetransition.GetTransition(phoneApplicationPage);
transition.Completed += delegate
{
transition.Stop();
};
transition.Begin();
}
2。单击按钮调用动画
private void btnRotate_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
StartTransition();
}
或基于页面名称导航时
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
if (e.Uri.ToString().Contains("SlidePage"))
{
slideAnimation();
}
if (e.Uri.ToString().Contains("TurnstilePage"))
{
turnstileAnimation();
}
}
有一个问题。。。我想根据导航到的uri而不是单击的按钮来更改转换。使用这种技术意味着我必须在每次单击按钮时调用StartTransition。这听起来不对,但如果没有更好的解决方案,我将不得不使用它。本文中的另一项技术是更改OnNavigatedTo和OnNavigatedFrom中的转换。我尝试过这个,但没有成功,这些方法是在转换初始化后调用的。您可以在
OnNavigatedFrom
中设置动画,查看NavigationEventArgs
e.Uri.ToString()包含(“PageName”)