这个问题纠结了两天,今天在一个朋友的帮助下,解决了,其实很简单,但是可能作为新手,接触WPF时间还是短,因此作为一个问题困扰了我。
父窗体部分代码
private void EditInformation_Click(object sender, RoutedEventArgs e) { this.Visibility = Visibility.Hidden;//父窗体隐藏 Page.ALLEdit AE = new Page.ALLEdit(); AE.Owner = this;//指定子窗体的父窗体是自己 AE.ShowDialog(); //子窗体显示 }
子窗体部分代码
protected override void OnClosing(System.ComponentModel.CancelEventArgs e) { this.Owner.Visibility = Visibility.Visible;//显示父窗体 base.OnClosing(e); }
重点就是在于父窗体里的AE.Owner = this;
这句话指定了父窗体是谁,如果没有这句话,在运行子窗体关闭时,会弹出“未将对象引用到实例”。
记住,千万不要什么一个new父窗体,这样是不可以的。