Change Main in WPF project

邮差的信 提交于 2019-12-01 13:52:57

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.

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:

C# doesn't do the startup for you. It inserts code that does it for you. You could always change the code and so whatever you wanted. First thing I would do if I were you - Right click the project file and select Properties. Under Application (the top tab) - see Startup Object.

You can select the form

Also - You're missing a line if you want the window to appear:

window.Show();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!