如何在我的Windows Phone 7应用程序中只发生一次?

时间:2012-01-16 09:55:24

标签: c# windows-phone-7.1 windows-phone-7

我只需要做一次(在我的情况下创建一个类的实例)。我能找到的最接近的东西是将它放在PhoneApplicationPage_Loaded事件处理程序中,或者放在MainPage.xaml的顶部。但是这对我不起作用,因为我的应用程序中有其他页面,所以如果我从另一个页面导航回MainPage,它会再次执行该代码。

谢谢大卫

2 个答案:

答案 0 :(得分:3)

创建新项目时,您会发现项目中添加了App.xaml.cs文件。在这里,您可以添加在应用程序生命周期的各个点执行的代码。您可以将代码添加到thar处理Launching事件的方法:

// Code to execute when the application is launching (eg, from Start)
// This code will not execute when the application is reactivated
private void Application_Launching(object sender, LaunchingEventArgs e)
{
   // your code goes here
}

当您启动应用程序时,此代码将仅执行一次。

答案 1 :(得分:1)

你需要什么(我假设)是一个单身人士类:

public class Singleton
{
    private static Singleton instance = new Singleton();

    private Singleton()
    {
    }

    public static Singleton GetInstance()
    {
        return instance;
    }
}

现在从任何地方调用Singleton.GetInstance()都可以保证每次都能获得相同的实例。