新しいWPFアプリケーションプロジェクトが作成されると、MainWindow.xaml
、App.xaml
、およびそれらに対応するクラスの背後にあるコードが自動的に生成されます。 App.xaml
には、最初に実行されるウィンドウを定義する属性があり、デフォルトではStartupUri="MainWindow.xaml"
です
同じプロジェクトに新しいDispatcher
クラスを作成しました。起動時に、そのクラスDispatcher
のインスタンスを構築してから、そのメソッドの1つを実行する必要があります。このメソッドは、実際にMainWindow
ウィンドウを作成して表示します。それで、それを実現するためにApp.xaml
またはApp.xaml.cs
を変更するにはどうすればよいですか?または、App
で実行できない場合、どのように実装すればよいですか?ありがとう。
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();
}
}
}
更新
私は最近、この方法を使用してアプリの起動をカスタマイズすると、突然アプリケーションレベルのリソースが見つからない場合にバグの この回避策 を発見しました。
Startupイベント(クラスApplication)を使用してみてください- [〜#〜] msdn [〜#〜] 。
Dispatcherインスタンスを作成した後、このイベントハンドラーでMainWindowを表示できます。