Change Main in WPF project

前端 未结 2 1105
自闭症患者
自闭症患者 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:39

    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();
    
    0 讨论(0)
  • 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.

    0 讨论(0)
提交回复
热议问题