如何自定义WPF应用程序的启动?

Bor*_*ris 26 wpf startup

当创建一个新的WPF应用程序项目MainWindow.xaml,App.xaml及其对应的隐藏类代码自动生成.在App.xaml这里有一个属性,它定义了最初要运行的窗口以及默认的窗口StartupUri="MainWindow.xaml"

Dispatcher在同一个项目中创建了一个新类.在启动时,我希望Dispatcher构造该类的实例,然后运行其中一个方法.该方法实际上会创建并显示MainWindow窗口.那么我该如何修改App.xamlApp.xaml.cs为了实现它呢?或者,如果无法完成App,我该如何实施呢?谢谢.

Eri*_*son 46

您可以StartupUri从App.xaml中删除该属性.

然后,通过OnStartup()在App.xaml.cs中创建覆盖,您可以创建类的新实例Dispatcher.

这是我的快速app.xaml.cs实现的样子:

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
      base.OnStartup(e);

      new MyClassIWantToInstantiate();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

更新

如果您使用此方法自定义应用程序启动,并且突然找不到任何应用程序级资源,我最近发现了错误的解决方法.