我相信这对我来说只是一个问题,因为我缺乏编程能力。我目前正在探索使用Windows Phone应用程序进行页面导航之间的转换。我最初使用故事板,并完成事件处理程序,让我的页面在屏幕上和屏幕外动画。当您想要从一个页面导航到多个页面时,使用相同的转换会导致出现问题。Windows Phone - OnNavigatingFrom - 问题
所以我已经开始看OnNavigatedTo和OnNavigatingFrom事件,虽然它很适合OnNavigatedTo,但后者只是不会工作。看起来Microsoft.Phone.Navigation程序集不包含OnNavigatingFrom,并且引用System.Windows.Navigation,编译成功,但无法在导航时将页面设置为动画。
我在我的Page2上有一个按钮,我想回到我的MainPage(在用测试消息框覆盖后退键之后)。我在页面上进行转变,我有这个作为事件处理程序代码...
private void btnP2_BackToP1Clicked(object sender, System.Windows.RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
}
有了这个代码,和的OnNavigatedTo事件OnNavigatingFrom ...
protected override void OnNavigatedTo(PhoneNavigationEventArgs e)
{
PageTransition_In.Begin();
}
// //
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
PageTransition_Out.Begin();
base.OnNavigatingFrom(e);
}
我有感觉OnNavigatingFrom可能不支持Windows Phone应用程序。 OnNavigatedFrom是Microsoft.Phone.Navigation的一部分,但只有当页面不再处于活动状态时才执行操作,这对于执行任何动画效果来说已经太迟了。
我感到你的痛苦!我尝试了Technium建议的转换框架,但它不起作用。这当然是最简单的(如果它工作的话)最方便的选择,但它有重大问题。我所做的是您的原始方法,并设置页面级属性来存储要导航到的页面。所以在调用Navigate()之前,你需要设置目标页面的属性。然后,当转换完成时,导航到该数据。这不是很好,但它是我发现的唯一替代方法 – Mac 2011-03-14 22:47:56