我的情况与这个人的问题非常相似,因为我有一个登录页面,它是我的 MainPage.xaml 文件,但是如果用户尚未设置密码,我想加载另一个名为 SetPassword.xaml 的页面。本质上,这是应用程序安装后第一次加载。
我已经花了几个小时尝试各种不同的解决方案(包括我链接到的那个),但我没有得到任何结果,而且似乎许多解决方案都是针对 WP7 或 WP8 的,新的解决方案没有类似的解决方案WP8.1。
这是基本检查,使用我正在做的 Windows.Storage 来查看是否设置了密码。
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
if (localSettings.Values["myPassword"] == null)
{
Debug.WriteLine("Password not set");
this.Frame.Navigate(typeof(SetPassword));
}
else
{
Debug.WriteLine("Password is set, continuing as normal");
}
如果我将此添加到public MainPage()
类中,我在调试消息中返回“未设置密码”的应用程序中没有问题,但是this.frame.Navigate(typeof(SetPassword))
导航永远不会加载 SetPassword 视图。
我也尝试过这种方法,OnNavigatedTo
结果完全相同。
在我的 App.xaml 文件中,我还尝试了许多不同的方法,结果相同。我可以得到调试消息,但不能得到我正在寻找的导航。我查看了在此处实现一个方法以及在Application_Launching
此处实现条件导航,但显然我遗漏了一些东西。RootFrame.Navigating+= RootFrameOnNavigating;
希望你们更聪明的人可以帮助我让我的导航基于条件值工作?