複数の WPF ウィンドウを使用している WPF プロジェクトがあります。私のWPFウィンドウは次のとおりです。
- メインウィンドウ
- ウィンドウ1
- ログイン
最初のシナリオではすべて正常に動作しますが、2 番目のシナリオでは null 参照例外が発生します。
- 最初のシナリオ: App.xaml は、スタートアップ ウィンドウが になるように構成されています
MainWindow
。
ユーザーが MainWindow のボタンをクリックすると、次のコードがある場合、彼は Window1 に転送されます。
MainWindow obj=(MainWindow)Application.Current.MainWindow;
private void button1_Click(object sender, RoutedEventArgs e)
{
obj.checkBox1.IsChecked = false;
}
2.2 番目のシナリオ: App.xaml は、スタートアップ ウィンドウがログイン ウィンドウになるように構成されます。ログインのコード:
private void button1_Click(object sender, RoutedEventArgs e)
{
var window=new MainWindow();
window.Show();
this.Close();
}
このシナリオでは、Window1 のボタンをクリックすると、obj に対して null 参照例外がスローされます。
MainWindow
2番目のケースで例外を引き起こすこれら2つのケースの初期化の違いは何ですか?どうすればそれを克服できますか?