我有一个WPF项目,其中我使用了多个WPF窗口。
我的WPF窗口如下:
- 主窗口(MainWindow) - 窗口1(Window1) - 登录(Login)
我有两种情况,第一种情况一切正常,但在第二种情况下,我会收到空引用异常。
第一种情况: App.xaml被配置为启动窗口
当用户在MainWindow上单击按钮时,他将被转发到Window1,其中我有以下代码:
- 主窗口(MainWindow) - 窗口1(Window1) - 登录(Login)
我有两种情况,第一种情况一切正常,但在第二种情况下,我会收到空引用异常。
第一种情况: App.xaml被配置为启动窗口
MainWindow
。当用户在MainWindow上单击按钮时,他将被转发到Window1,其中我有以下代码:
MainWindow obj=(MainWindow)Application.Current.MainWindow;
private void button1_Click(object sender, RoutedEventArgs e)
{
obj.checkBox1.IsChecked = false;
}
第二种情况:
配置App.xaml以便启动窗口为登录窗口。
登录页面的代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
var window=new MainWindow();
window.Show();
this.Close();
}
在这种情况下,当我在Window1中点击按钮时,obj引用将抛出空引用异常。
在这两种情况下,MainWindow
的初始化有何差异导致第二种情况出现异常,如何克服它?