我正在开发一个 Windows Phone 应用程序,我有三个屏幕:
- 主屏幕
- 登录选择画面。
- 登录屏幕。
当用户登录并按下“登录”按钮时,我想从屏幕 3 回到屏幕 1。现在我回到屏幕 2 并立即返回第一个屏幕。我不想显示 2 屏幕。
是否有可能做到这一点?
我正在开发一个 Windows Phone 应用程序,我有三个屏幕:
当用户登录并按下“登录”按钮时,我想从屏幕 3 回到屏幕 1。现在我回到屏幕 2 并立即返回第一个屏幕。我不想显示 2 屏幕。
是否有可能做到这一点?
在第 3 页的某处添加
NavigationService.RemoveBackEntry();
这将从后堆栈中删除第 2 页。现在,当用户点击返回键时,他将直接向后导航到第 1 页。
但正如 Amal Dev 所指出的,微软希望你让用户导航到上一页。这条规则似乎并没有被强制执行太多,它可能意味着“永远不要混淆用户”。如果您混淆了认证测试人员,您的应用将无法通过认证。
试试这个
假设您的页面被命名为 FirstPage.xaml、SecondPage.xaml、ThirdPage.xaml
//Check for the first page and remove the remaining back stack in your ThirdPage.xaml
while(!NavigationService.BackStack.First().Source.OriginalString.Contains("FirstPage"))
{
NavigationService.RemoveBackEntry();
}
NavigationService.GoBack();
您可以使用该NavigationService.Navigate
方法。
NavigationService.Navigate(new Uri( string.Format("/your page name.xaml?val={0}", ValueTextBox.Text), UriKind.Relative));
请参考下面给出的链接。