如何在 WPF 应用程序中使用启动事件?

4th*_*ace 1 c# wpf xaml

我已经尝试过这两个示例来在 WPF 应用程序中使用启动事件:

http://www.wpf-tutorial.com/wpf-application/working-with-app-xaml/

https://msdn.microsoft.com/en-us/library/system.windows.application.startup(v=vs.110).aspx

每个人在部分 App 类中创建一个方法:

void Application_Start(object sender, StartupEventArgs args){
  //do something
}
Run Code Online (Sandbox Code Playgroud)

并在 App.xaml 中指向它:

Startup = "Application_Start"
Run Code Online (Sandbox Code Playgroud)

我总是收到此构建错误:

MyApp.App 不包含 Application_Start 的定义,并且找不到接受 MyApp.App 类型的第一个参数的扩展方法 Application_Start。

任何想法我做错了什么?

kma*_*zek 5

您应该在参数类型中使用StartupEventArgs而不是StartEventArgs

void Application_Start(object sender, StartupEventArgs args)
{
    //do something           
}
Run Code Online (Sandbox Code Playgroud)

编辑:

您应该使用与主App类相同的命名空间创建分部类:

namespace WpfAppStartEvent
{
    public partial class App : Application
    {

    }
}

namespace WpfAppStartEvent
{
    public partial class App 
    {
        void Application_Start(object sender, StartupEventArgs args)
        {
            //do something           
        }
    }
}
Run Code Online (Sandbox Code Playgroud)