由于我缺乏编程能力,我相信这对我来说只是一个问题。我目前正在探索页面导航与 Windows Phone 应用程序之间的转换。我最初使用故事板和完成的事件处理程序来让我的页面在屏幕上和屏幕外进行动画处理。当您想使用相同的转换从一个页面导航到多个页面时,这些会导致问题。
所以我开始研究 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);
}
我感觉 Windows Phone 应用程序可能不支持 OnNavigatingFrom。OnNavigatedFrom 是 Microsoft.Phone.Navigation 的一部分,但它仅在页面不再处于活动状态时才执行操作,这为时已晚,无法执行任何动画效果。