创建新的WPF应用程序项目时,会自动生成MainWindow.xaml
,App.xaml
及其后面的相应代码。在App.xaml
中,有一个属性可以定义最初要运行的窗口,默认情况下是StartupUri="MainWindow.xaml"
我在同一个项目中创建了一个新的Dispatcher
类。在启动时,我希望构造该类Dispatcher
的实例,然后运行其中一个方法。该方法实际上会创建并显示MainWindow
窗口。那么如何修改App.xaml
或App.xaml.cs
才能实现呢?或者,如果App
无法完成,我该如何实施呢?感谢。
答案 0 :(得分:45)
您可以从App.xaml中删除StartupUri
属性。
然后,通过在App.xaml.cs中为OnStartup()
创建覆盖,您可以创建Dispatcher
类的新实例。
这是我的快速app.xaml.cs实现的样子:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
new MyClassIWantToInstantiate();
}
}
}
<强>更新强>
如果您使用此方法自定义应用启动,我最近发现了this workaround错误,并且突然找不到任何应用级资源。
答案 1 :(得分:2)
尝试使用Startup事件(类Application) - MSDN。
您可以在创建Dispatcher实例后在此事件处理程序中显示MainWindow。