Change Main in WPF project

前端 未结 2 1106
自闭症患者
自闭症患者 2021-01-15 20:23

Always annoyed me how C# wants to do the startup for you. So now I am trying to make my own main method. It\'s not working:

I have provided this main method:

2条回答
  •  遥遥无期
    2021-01-15 20:51

    You're right: you need to instantiate an Application and call Run on it. (You'd do this in Main.) To make it show your window when it runs, there are three options:

    • Use the Run(Window) overload, e.g. MainWindow w = ...; new MyApp().Run(w);
    • Set the StartupUri e.g. myApp.StartupUri = new Uri(...); myApp.Run();
    • Do the Show in the Startup event or OnStartup override e.g. myApp.Startup += (...) => new MainWindow().Show();

    Examples of manual startup code are shown in MSDN under the Application.Run() and Application.Run(Window) entries - these should get you started! The Run() overload also discusses why Application.Run is needed and what it does e.g. starting the dispatcher loop.

提交回复
热议问题