我在游戏中有一个中间的“正在加载”页面:我将其发送到那里,并且在加载非常繁琐的游戏页面时会显示“正在加载...”文本:
private void OnLoaded(object sender, RoutedEventArgs e)
{
Dispatcher.BeginInvoke(() =>
{
try
{
NavigationService.Navigate(new Uri("/GamePage.xaml", UriKind.Relative));
NavigationService.RemoveBackEntry();
}
catch (InvalidOperationException)
{
}
});
}
然后,当您单击“后退”按钮时,您将转到主页,而不是返回到加载屏幕。页面上没有其他逻辑。
但是,我刚收到的商店提交被拒绝:显然,在Samsung Focus和Odyssey上,加载页面的导航条目未删除,并且当用户单击“后退”按钮时,用户被发送回加载页面,而不是返回到主菜单。我猜测RemoveBackEntry失败。
看起来应该可以,我无法重现该错误,也没有Focus或Odyssey。有人知道可能出什么问题吗?
最佳答案
我认为您应该替换:
NavigationService.RemoveBackEntry();
与:
while (NavigationService.CanGoBack)
{
NavigationService.RemoveBackEntry();
}
关于c# - Windows Phone:导航失败后,RemoveBackEntry,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21845184/