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 
            }
        }

    }