【发布时间】:2014-05-27 13:24:48
【问题描述】:
这是我的页面导航场景:
MainPage (MP) Locations (L) AddLocation (AL)
我不希望用户在点击手机上的后退按钮时转到 AddLocation。
如果他们在 MP 上并且他们回击,他们应该退出应用程序。
如果他们去 MP->L 并回击,他们应该去 MainPage。
如果他们去 MP->L->AL 并反击,他们应该去 Locations。
如果他们去 MP->L->AL->L 并回击,他们应该去 MainPage 而不是回到 AddLocations。
不对,我在 Common 文件夹中有标准导航助手,然后我将此代码添加到 Locations 页面以实现此目的:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
this.navigationHelper.OnNavigatedTo(e);
var bs = Frame.BackStack.Where(b => b.SourcePageType.Name == "MainPage").FirstOrDefault();
if (bs!= null)
{
Frame.BackStack.Clear();
Frame.BackStack.Add(bs);
}
}
这对我来说似乎是一个可怕的黑客攻击,我确信有一些我不知道的支持/设计的方法来做到这一点。我对 WinRT 和 Xaml 非常陌生。
【问题讨论】:
标签: c# windows-phone-8.1 win-universal-app