1

我已经对 Windows Phone 应用程序的生命周期进行了一些研究,并且我收集到当手机被锁定而应用程序仍在运行时,并且您解锁手机时,App.xaml 中会调用“Application_Activated”函数。 cs 文件。

// Code to execute when the application is activated (brought to foreground)
// This code will not execute when the application is first launched
private void Application_Activated(object sender, ActivatedEventArgs e)
{
    //Code to run
    MessageBox.Show("Hello there!");
}

现在在上面的例子中,简单的“MessageBox”调用没有运行。就像我说的,如果你的应用程序正在运行并且你锁定了手机,然后解锁了手机,上面的代码应该会运行,在这种情况下,一旦你解锁手机就会显示一个 MessageBox。

任何帮助将不胜感激!谢谢。

4

1 回答 1

2

你不能这样做

If you call Show(String) method from the app Activated and Launching event 
handlers an InvalidOperationException is thrown with the message Error 
Displaying MessageBox.

它在 msdn 中

如果您想显示相同的消息,我的建议是使用OnNavigatedTo事件

编辑

如果我理解正确你想更改默认页面导航

  1. 1.一种方法:

    用您想要的页面WMAppManifest.xml替换的属性Navigation Page

  2. 替代:

WMAppManifest.xml删除的属性Navigation Page

private void Application_Launching(object sender, LaunchingEventArgs e)
{
    RootFrame.Navigate(new Uri("YourPage.xaml", UriKind.Relative)); 
}
private void Application_Activated(object sender, ActivatedEventArgs e)
{            
     RootFrame.Navigate(new Uri("YourPage.xaml", UriKind.Relative));
}

这样你就可以“玩”IsolatedStorageSettings例如

     if (boolvariable)
        {
            RootFrame.Navigate(new Uri("YourPage.xaml", UriKind.Relative));
            boolvariable = false;
        }
     else 
        {
            RootFrame.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
        }

这只是一个想法,让我知道它是怎么回事(:

于 2013-04-02T08:41:11.480 回答