当启动Windows Phone 7.1应用程序时,决定去哪个页面
本文关键字:决定 Windows 启动 Phone 应用程序 | 更新日期: 2023-09-27 18:15:12
我正在使用c#为Windows Phone 7.1构建一个应用程序。
app打开时,如果用户是第一次使用,则进入"设置密码"页面,否则进入"登录页面"。
我想使用NavigationService.Navigate(Uri)
,但我不知道我应该在哪里调用这个函数?
我建议将密码保存到某种(加密的)持久存储中,并尝试在应用程序启动时检索它。
然后将这段代码添加到App.xaml中,它应该会达到这个效果
void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
// Only care about MainPage
if (e.Uri.ToString().Contains("/MainPage.xaml") != true)
return;
var password = GetPasswordFromSomePersistentStorage();
// Cancel current navigation and schedule the real navigation for the next tick
// (we can't navigate immediately as that will fail; no overlapping navigations
// are allowed)
e.Cancel = true;
RootFrame.Dispatcher.BeginInvoke(delegate
{
if (string.IsNullOrWhiteSpace(password))
RootFrame.Navigate(new Uri("/InputPassword.xaml", UriKind.Relative));
else
RootFrame.Navigate(new Uri("/ApplicationHome.xaml", UriKind.Relative));
});
}
确保你已经在App()构造函数中添加了处理程序
RootFrame.Navigating += new NavigatingCancelEventHandler(RootFrame_Navigating);
还有MainPage。Xaml,只是一个空页面(在开始页面时设置),将用于捕获初始导航事件。
希望能有所帮助。