当启动Windows Phone 7.1应用程序时,决定去哪个页面

本文关键字:决定 Windows 启动 Phone 应用程序 | 更新日期: 2023-09-27 18:15:12

我正在使用c#为Windows Phone 7.1构建一个应用程序。

app打开时,如果用户是第一次使用,则进入"设置密码"页面,否则进入"登录页面"。

我想使用NavigationService.Navigate(Uri),但我不知道我应该在哪里调用这个函数?

当启动Windows Phone 7.1应用程序时,决定去哪个页面

我建议将密码保存到某种(加密的)持久存储中,并尝试在应用程序启动时检索它。

然后将这段代码添加到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,只是一个空页面(在开始页面时设置),将用于捕获初始导航事件。

希望能有所帮助。