如果是首次启动应用程序,如何显示页面

马修

我想知道如何发出信号是首次启动,还是之前已经启动过。我要执行此操作的原因是在使用该应用程序之前显示一条非常简短的信息,而每隔两次启动该应用程序就不会显示任何信息。我可以在App.xaml.cs中放置以下内容吗?

var settings = IsolatedStorageSettings.ApplicationSettings;
if (!settings.Contains("WasLaunched")) 
{
  MessageBox.Show("First time to launch");
  settings.Add("WasLaunched", true);
}

如果(!settings.Contains("WasLaunched")导航到“第一启动页面”而不是“主页”?有人可以指出我有关此实现的任何好的参考资料吗?

编辑**

我将WMAppManifest.xml默认页面更改LaunchPage.xaml

<DefaultTask Name="_default" NavigationPage="LaunchPage.xaml" />

并创建了我的UriMapper类

public class LoginUriMapper : UriMapperBase
{
    public override Uri MapUri(Uri uri)
    {
        if (uri.OriginalString == "/LaunchPage.xaml")
        {
            if (Settings.FirstLoad.Value == true)
            {
                //Navigate to Welcome Page with quick first time user info
                uri = new Uri("/Views/WelcomePage.xaml", UriKind.Relative);
            }
            else
            {
                ///Navigate to the actual Main Page
                uri = new Uri("/MainPage.xaml", UriKind.Relative);
            }
        }
        return uri;
    }
}

但是我如何相应地更改App.xaml.cs

private void Application_Launching(object sender, LaunchingEventArgs e)
{
    //how to check and navigate to correct page for this specific method?
}

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    //how to check and navigate to correct page for this specific method?
}
安东·西兹科夫(Anton Sizikov)

您最好使用UriMapper的功能

在这里您可以找到一篇不错的文章

核心思想是:

您应该定义一个空白页(EntryPage.xaml),并将其设置为应用程序的默认页。然后在您的自定义中,UriMapper您将重载该MapUri方法。

   public class YourUriMapper : UriMapperBase
   {
    public override Uri MapUri(Uri uri)
    {
        if (uri.OriginalString == "/EntryPage.xaml")
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;

            if (!settings.Contains("WasLaunched"))
            {
                 uri = new Uri("/FirstRunInfoPage.xaml", UriKind.Relative);
            }
            else
            {
                 uri = new Uri("/MainPage.xaml", UriKind.Relative);
             }
         }
            return uri;
     } 
  }

然后在应用程序初始化时,您应该定义UriMapper使用哪个

private void Application_Launching(object sender, LaunchingEventArgs e)
{
    RootFrame.UriMapper = new YourUriMapper();
}

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    if (e.IsApplicationInstancePreserved == false)
    {
      // tombstoned! Need to restore state
      RootFrame.UriMapper = new YourUriMapper();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果应用程序是首次启动,如何显示页面

来自分类Dev

如果是首次启动该应用程序的简单动画?

来自分类Dev

如果是首次启动该应用程序的简单动画?

来自分类Dev

如何跟踪应用程序的首次启动?

来自分类Dev

如何跟踪应用程序的首次启动?

来自分类Dev

iOS-如果应用程序是首次启动-呈现ModalView

来自分类Dev

在首次启动应用程序时显示对话框

来自分类Dev

首次打开应用程序时的条件页面显示

来自分类Dev

首次打开应用程序时的条件页面显示

来自分类Dev

如何跟踪应用程序是否首次在Android中启动?

来自分类Dev

Xcode UI测试:如何测试应用程序的首次启动

来自分类Dev

仅在首次启动应用程序时,如何启动具有特定活动的应用程序?

来自分类Dev

如何在首次打开应用程序时显示视图?

来自分类Dev

首次启动后应用程序崩溃

来自分类Dev

首次启动后应用程序崩溃

来自分类Dev

如何实现首次启动教程,例如Android Lollipop应用程序:Sheets,Slides应用程序?

来自分类Dev

如何使用SwiftUI在首次启动应用程序时启动教程?

来自分类Dev

在Android中每天的首次启动应用程序上显示警报

来自分类Dev

Android应用程序的首次启动非常缓慢,并且systrace显示30秒的bindApplication

来自分类Dev

选择特定的tabItem()以在首次启动闪亮应用程序时默认显示

来自分类Dev

Svelte应用程序在首次启动时显示空白页

来自分类Dev

如果是通过Safari中的网页安装的,则如何打开应用程序?

来自分类Dev

如果停止使用Cron,如何启动应用程序?

来自分类Dev

如何仅在首次运行应用程序时在我的iOS应用程序中打开页面视图控制器?

来自分类Dev

如何仅在首次运行应用程序时在我的iOS应用程序中打开页面视图控制器?

来自分类Dev

如果是首次使用该应用,则显示其他导航控制器

来自分类Dev

MFC应用程序首次启动时如何禁用自动创建文档/视图

来自分类Dev

如何检测一天中首次启动的应用程序

来自分类Dev

注册GCM后首次启动应用程序时如何获取GCM注册ID?

Related 相关文章

  1. 1

    如果应用程序是首次启动,如何显示页面

  2. 2

    如果是首次启动该应用程序的简单动画?

  3. 3

    如果是首次启动该应用程序的简单动画?

  4. 4

    如何跟踪应用程序的首次启动?

  5. 5

    如何跟踪应用程序的首次启动?

  6. 6

    iOS-如果应用程序是首次启动-呈现ModalView

  7. 7

    在首次启动应用程序时显示对话框

  8. 8

    首次打开应用程序时的条件页面显示

  9. 9

    首次打开应用程序时的条件页面显示

  10. 10

    如何跟踪应用程序是否首次在Android中启动?

  11. 11

    Xcode UI测试:如何测试应用程序的首次启动

  12. 12

    仅在首次启动应用程序时,如何启动具有特定活动的应用程序?

  13. 13

    如何在首次打开应用程序时显示视图?

  14. 14

    首次启动后应用程序崩溃

  15. 15

    首次启动后应用程序崩溃

  16. 16

    如何实现首次启动教程,例如Android Lollipop应用程序:Sheets,Slides应用程序?

  17. 17

    如何使用SwiftUI在首次启动应用程序时启动教程?

  18. 18

    在Android中每天的首次启动应用程序上显示警报

  19. 19

    Android应用程序的首次启动非常缓慢,并且systrace显示30秒的bindApplication

  20. 20

    选择特定的tabItem()以在首次启动闪亮应用程序时默认显示

  21. 21

    Svelte应用程序在首次启动时显示空白页

  22. 22

    如果是通过Safari中的网页安装的,则如何打开应用程序?

  23. 23

    如果停止使用Cron,如何启动应用程序?

  24. 24

    如何仅在首次运行应用程序时在我的iOS应用程序中打开页面视图控制器?

  25. 25

    如何仅在首次运行应用程序时在我的iOS应用程序中打开页面视图控制器?

  26. 26

    如果是首次使用该应用,则显示其他导航控制器

  27. 27

    MFC应用程序首次启动时如何禁用自动创建文档/视图

  28. 28

    如何检测一天中首次启动的应用程序

  29. 29

    注册GCM后首次启动应用程序时如何获取GCM注册ID?

热门标签

归档