我在Visual Studio 2013中创建了一个C#商店应用程序。突然之间,启动表单发生了变化,因此不再是Mainpage。我找不到如何解决这个问题 我发现a link我可以在项目的属性中执行某些操作,但我无法解决问题。
有没有人知道如何在Visual Studio 2013中更改C#商店应用的启动表单?
编辑:这是OnLaunched方法,如评论中所述。
protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
this.DebugSettings.EnableFrameRateCounter = true;
}
#endif
Frame rootFrame = Window.Current.Content as Frame;
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
await CatalogApp.Common.SuspensionManager.RestoreAsync();
}
if (rootFrame == null)
{
// Create a Frame to act as the navigation context and navigate to the first page
rootFrame = new Frame();
CatalogApp.Common.SuspensionManager.RegisterFrame(rootFrame, "appFrame");
// Set the default language
rootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages[0];
rootFrame.NavigationFailed += OnNavigationFailed;
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
}
// Place the frame in the current Window+
Window.Current.Content = rootFrame;
}
if (rootFrame.Content == null)
{
if (!rootFrame.Navigate(typeof(ShowItems), e.Arguments))
{
throw new Exception("Failed to create initial page");
}
rootFrame.Navigate(typeof(MainPage), e.Arguments);
}
Window.Current.Activate();
}
答案 0 :(得分:1)
中可能有一个导航语句:
rootFrame.Navigate(typeof(ItemsPage), e.Arguments);
protected override async void OnLaunched(LaunchActivatedEventArgs e)
在App.xaml.cs中覆盖
如果您使用此默认设置,请检查typeof(ItemsPage)
和e.Argument
语句。
请记住,默认情况下,激活时, 应用程序重定向到上次打开的窗口。
<强>更新强>
if (!rootFrame.Navigate(typeof(ShowItems), e.Arguments))
{
throw new Exception("Failed to create initial page");
}
rootFrame.Navigate(typeof(MainPage), e.Arguments);
是双重导航:首先导航到ShowItems
,如果成功导航到MainPage
。这是为什么?我认为这会导致意想不到的结果。
请尝试删除
if (!rootFrame.Navigate(typeof(ShowItems), e.Arguments))
{
throw new Exception("Failed to create initial page");
}
并检查结果。
顺便问一下:您想要从哪一页开始?