我正在开发一个UWP Windows 10应用程序,我希望有一个页面只在第一次启动应用程序的开始时显示。当应用程序在系统中第二次打开时,不应显示它。
我在网上搜索过它,但找不到任何相关内容。
答案 0 :(得分:1)
在->
中查找App.xaml.cs
处理程序。这些代码行用于“切换”页面:
OnLaunched
正如@Romasz在评论中建议的那样,你可以在这里添加额外的逻辑与本地(或更好 - 漫游)存储,以检查应用程序是否是第一次启动:
if (rootFrame.Content == null)
{
rootFrame.Navigate(typeof(MainPage), e.Arguments);
}
答案 1 :(得分:1)
我知道我的答案可以更精确,但我已经花了2分钟而且正在工作。我在我的StartPage.xaml.cs文件中添加了一个页面加载的事件,并在其中添加了以下代码。
if (localSettings.Values["IsFirstTime"] == null)
{
localSettings.Values["IsFirstTime"] = true;
}
if ((bool)localSettings.Values["IsFirstTime"])
{
localSettings.Values["IsFirstTime"] = false;
this.Frame.Navigate(typeof(MainPage));
}
确保在类级别(ApplicationDataContainer类型)创建localSettings对象。现在在App.xaml.cs中,我为本地设置添加了全局变量,如下所示。
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
在app.xaml.cs文件中,显示 rootFrame.Content == null 的if条件,并使用以下代码替换其中的所有内容。
object value = localSettings.Values["IsFirstTime"];
if (localSettings.Values["IsFirstTime"] != null)
{
if ((bool)value)
{
rootFrame.Navigate(typeof(StartPage), e.Arguments);
localSettings.Values["IsFirstTime"] = false;
}
else
{
rootFrame.Navigate(typeof(MainPage), e.Arguments);
}
}
else
{
rootFrame.Navigate(typeof(StartPage), e.Arguments);
localSettings.Values["IsFirstTime"] = false;
}
我已经通过卸载我的应用程序并再次运行来查看是否显示了启动页面(并显示)。我第二次打开时,会显示MainPage。