Windows Phone后退按钮问题
作者:互联网
我有一个包含2个表单的应用程序,即主表单和属性表单,当我单击导航到属性的按钮,然后单击“后退”按钮(硬件)时,我得到了期望的结果,我的应用返回了主表单,但是,如果我应用属性并再次导航到主页,然后再次按下“后退”按钮,我将返回属性,如果我继续向后滑动,我可以返回到无限属性/主页,这很糟糕,因为主页已更改了其属性.属性.
Good cases:
MainPage ---> properties --back--> MainPage (No properties were set)
MainPage ---> properties --set--> newMainPage
MainPage ---> properties --set--> MainPage --back--> closeApp
Bad cases:
MainPage ---> properties --set--> MainPage --back--> properties --back--> oldMainPage
MainPage ---> properties --set--> newMainPage ---> properties --set--> new_newMainPage --back--> properties --back--> oldMainPage --back--> properties --back--> old_oldMainPage
也许我可以删除导航缓存?我已经尝试过了,但是编译器告诉我它是只读的:
this.NavigationCacheMode = System.Windows.Navigation.NavigationCacheMode.Disabled;
我当前的导航代码是:
NavigationService.Navigate(new Uri("/Properties.xaml",UriKind.RelativeOrAbsolute));
and
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.RelativeOrAbsolute));
解决方法:
考虑到这个问题,已经实施了Solving Circular Navigation in Windows Phone Silverlight Applications.
另外,您也可以使用GoBack并刷新主页,而不是导航到新的主页实例(如果您觉得更自然).
标签:windows-phone-7,c 来源: https://codeday.me/bug/20191208/2094653.html