我正在开发一款需要登录的Windows Phone 8应用程序。
当用户第一次打开应用程序并登录并将其数据保存在隔离存储中时,下次启动应用程序时,我会检查其在隔离存储中的ID并尝试导航到主页跳过登录页面,但它无法正常工作。
以下是登录页面中的代码:
public MainPage()
{
IsolatedStorageSettings WasalnySettings = IsolatedStorageSettings.ApplicationSettings;
if (WasalnySettings.Contains("CurrentUserGUID"))
{
string mydata = (string)WasalnySettings["CurrentUserGUID"];
NavigationService.Navigate(new Uri("/Home.xaml", UriKind.Relative));
}
InitializeComponent();
}
答案 0 :(得分:1)
我认为问题是主页尚未加载,因为您的调用是在构造函数中,因此它还没有加载。尝试处理Loaded
事件并将Navigate
电话放在那里:
public MainPage()
{
InitializeComponent();
// Assign the handler:
MainPage.Loaded += CheckLogin;
}
void CheckLogin(object sender, EventArgs e)
{
// at this point, the page has been fully loaded:
IsolatedStorageSettings WasalnySettings = IsolatedStorageSettings.ApplicationSettings;
if (WasalnySettings.Contains("CurrentUserGUID"))
{
string mydata = (string)WasalnySettings["CurrentUserGUID"];
NavigationService.Navigate(new Uri("/Home.xaml", UriKind.Relative));
}
}
答案 1 :(得分:1)
实际上,当我在“onNavigatedTo”事件处理程序中编写导航行时,它有效吗
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// at this point, the page has been fully loaded:
IsolatedStorageSettings WasalnySettings = IsolatedStorageSettings.ApplicationSettings;
if (WasalnySettings.Contains("CurrentUserGUID"))
{
string mydata = (string)WasalnySettings["CurrentUserGUID"];
NavigationService.Navigate(new Uri("/Home.xaml", UriKind.Relative));
}
}
答案 2 :(得分:0)
例如,您可以使用UriMapper。 检查此article 希望这会有所帮助。