WP8.1 Silverlight - BackNavigation 为 OnNavigatedTo 函数维护旧的 NavigationEventArgs
WP8.1 Silverlight - BackNavigation maintains the old NavigationEventArgs for OnNavigatedTo function
我正在开发 Windows Phone 8.1 Silverlight 应用程序。在这个应用程序中,我有一个启动字符串附加到 toast 通知,它有助于导航到带有一些参数的主页面,例如 /MainPage.xaml?data=test
所以当我点击这个通知时,我可以从 MainPage 的 OnNavigatedTo 函数的 NavigationEventArgs 中获取这个数据值。基于一些与数据相关的逻辑,我导航到一个新的 Test.xaml 屏幕。
问题是当我从这个 Test.xaml 屏幕返回到 MainPage.xaml 时,旧的 OnNavigatedTo NavigationEventArgs 保持不变,即 NavigationEventArgs 中的 Uri 被保留。
有没有办法在完成并处理后删除 NavigationEventArgs?
请检查主页上 OnNavigatedTo 方法内的 NavigationMode,例如,如果您将从 test.xaml 页面返回,e.NavigationMode==NavigationMode.Back 将调用,您可以在那里编写代码.
protected override void OnNavigatedTo ( NavigationEventArgs e )
{
if ( e.NavigationMode==NavigationMode.New )
{
//do somthing
}
if ( e.NavigationMode==NavigationMode.Back )
{
//do somthing
}
}
}
我正在开发 Windows Phone 8.1 Silverlight 应用程序。在这个应用程序中,我有一个启动字符串附加到 toast 通知,它有助于导航到带有一些参数的主页面,例如 /MainPage.xaml?data=test
所以当我点击这个通知时,我可以从 MainPage 的 OnNavigatedTo 函数的 NavigationEventArgs 中获取这个数据值。基于一些与数据相关的逻辑,我导航到一个新的 Test.xaml 屏幕。
问题是当我从这个 Test.xaml 屏幕返回到 MainPage.xaml 时,旧的 OnNavigatedTo NavigationEventArgs 保持不变,即 NavigationEventArgs 中的 Uri 被保留。
有没有办法在完成并处理后删除 NavigationEventArgs?
请检查主页上 OnNavigatedTo 方法内的 NavigationMode,例如,如果您将从 test.xaml 页面返回,e.NavigationMode==NavigationMode.Back 将调用,您可以在那里编写代码.
protected override void OnNavigatedTo ( NavigationEventArgs e )
{
if ( e.NavigationMode==NavigationMode.New )
{
//do somthing
}
if ( e.NavigationMode==NavigationMode.Back )
{
//do somthing
}
}
}