Windows应用商店从App.xaml.cs导航?

时间:2014-04-03 15:14:18

标签: c# navigation windows-store

我遇到了这个问题,我似乎无法使其工作,我想在没有网络的情况下从App.xaml.cs导航到另一个页面的Windows商店项目,但我不能这样做。 这是代码

sealed partial class App : Application
 {


    public App()
    {
        this.InitializeComponent();
        this.Suspending += OnSuspending;
        NetworkInformation.NetworkStatusChanged += NetworkInformation_NetworkStatusChanged;

    }

    private void NetworkInformation_NetworkStatusChanged(object sender)
    {


        ConnectionProfile profile =
            NetworkInformation.GetInternetConnectionProfile();

        if (profile.GetNetworkConnectivityLevel() >=
            NetworkConnectivityLevel.InternetAccess)
        {
            // We have Internet, all is golden
        }
        else
        {

           DoThis();


        }
    }


    public async void DoThis()
    {
        var dispatcher = Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher;

        await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            Window.Current.Content = new Eroare();
        });
    }


    protected override void OnLaunched(LaunchActivatedEventArgs args)
    {
        Frame rootFrame = Window.Current.Content as Frame;

        // Do not repeat app initialization when the Window already has content,
        // just ensure that the window is active
        if (rootFrame == null)
        {
            // Create a Frame to act as the navigation context and navigate to the first page
            rootFrame = new Frame();

            if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
            {
                //TODO: Load state from previously suspended application
            }

            // Place the frame in the current Window
            Window.Current.Content = rootFrame;
        }

        if (rootFrame.Content == null)
        {
            // When the navigation stack isn't restored navigate to the first page,
            // configuring the new page by passing required information as a navigation
            // parameter
            if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
            {
                throw new Exception("Failed to create initial page");
            }

        }
        // Ensure the current window is active
        Window.Current.Activate();
    }




    /// <summary>
    /// Invoked when application execution is being suspended.  Application state is saved
    /// without knowing whether the application will be terminated or resumed with the contents
    /// of memory still intact.
    /// </summary>
    /// <param name="sender">The source of the suspend request.</param>
    /// <param name="e">Details about the suspend request.</param>
    private void OnSuspending(object sender, SuspendingEventArgs e)
    {
        var deferral = e.SuspendingOperation.GetDeferral();
        //TODO: Save application state and stop any background activity
        deferral.Complete();
    }
}

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

试试这个,

var rootFrame = Window.Current.Content as Frame;
rootFrame.Navigate(typeof(YourPage));