设置Store App的启动表单

时间:2014-05-14 08:50:15

标签: c# windows-store-apps

我在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();
    }

1 个答案:

答案 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");
}

并检查结果。

顺便问一下:您想要从哪一页开始?