2016-08-25 3 views
0

Я работаю над приложением Windows Phone 8.1 Silverlight. В этом приложении у меня есть строка запуска, прикрепленная к уведомлению тоста, которая помогает в навигации по MainPage с некоторыми параметрами, например, /MainPage.xaml?data=testWP8.1 Silverlight - BackNavigation поддерживает старую функцию NavigationEventArgs для OnNavigatedTo

Поэтому, когда я нажимаю это уведомление, я могу получить это значение данных из NavigationEventArgs OnNavigatedTo функции MainPage. Основываясь на некоторой логике, связанной с данными, я перехожу к новому экрану Test.xaml.

Проблема заключается в том, когда я перехожу с этого экрана Test.xaml на MainPage.xaml, старый OnNavigatedTo NavigationEventArgs остается тем же, то есть Uri в NavigationEventArgs сохраняется.

Есть ли способ удалить NavigationEventArgs, когда-то сделанный и обработанный?

ответ

2

Пожалуйста, ознакомьтесь с методом NavigationMode внутри метода OnNavigatedTo на вашей главной странице, например, если вы вернетесь на страницу 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 
      } 
     } 

    }