1

我正在开发一个 Windows 7 手机应用程序,我希望在用户第一次在手机中使用该应用程序时显示特定页面(用户需要接受的隐私政策)。谁能告诉我如何完成这项工作。

4

2 回答 2

0

可以在此处找到此问题的可能答案。由于您希望您的页面仅打开一次,因此如果用户已接受该策略,我建议IsolatedStorageSettings保存一个布尔值。

于 2013-10-30T01:46:27.100 回答
0

对于此功能,可以采用两种方法。第一种是始终从隐私政策页面开始,但覆盖 OnNavigatedTo 方法以检查该政策之前是否已被接受。如果有,请导航到您的“主页”。在 Mainpage 中,删除所有 backstack 条目。

隐私政策页面

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    // have the accepted the policy?
    var settings = IsolatedStorageSettings.ApplicationSettings;
    bool accepted;
    if(settings.TryGetValue("PolicyAccepted", out accepted))
    {
        if (accepted)
        {
            NavigationService.Navigate(new Uri("MainPage.xaml", UriKind.Relative));
        }
    }
}

private void OnAcceptButtonClick(object sender, RoutedEventArgs routedEventArgs)
{
    var settings = IsolatedStorageSettings.ApplicationSettings;
    settings["PolicyAccepted"] = true;
    settings.Save();
    NavigationService.Navigate(new Uri("MainPage.xaml", UriKind.Relative));
}

然后在您的 MainPage 中,删除 backstack

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    while (NavigationService.CanGoBack) NavigationService.RemoveBackEntry();
}

第二种方法是 UriMapper ,如this SO answer中所述。

于 2013-10-30T17:11:21.157 回答