Loading

WPF 子窗体关闭时显示父窗体

这个问题纠结了两天,今天在一个朋友的帮助下,解决了,其实很简单,但是可能作为新手,接触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);
        }
重写子窗体的closing事件

重点就是在于父窗体里的AE.Owner = this;

这句话指定了父窗体是谁,如果没有这句话,在运行子窗体关闭时,会弹出“未将对象引用到实例”。

 

记住,千万不要什么一个new父窗体,这样是不可以的。

posted @ 2014-08-07 12:37  眾尋  阅读(2700)  评论(4编辑  收藏  举报