wpf窗口关闭后重新打开

时间:2022-02-22 23:48:26
主窗口中创建子窗口,并show();当子窗口关闭后,我发现,主窗口中创建的实例并没有清空,如果我想让子窗口再次显示,应该怎么做?
如果再new一个实例的话,因为前一个实例并没有释放,浪费内存了。有没有办法能继续使用前面的实例?
我这样写不行:

            if (null == dv)
                dv = new DetailView();
            else
            //有没有其它函数能激活已关闭的窗口?
                dv.Activate();
            dv.Show();

谢谢~~

5 个解决方案

#1


咋没人说话?

#2


不懂你是什么意思,那就不用关闭了
用this.Hide()好了

#3


放心的NEW吧,GC会搞定一切。

#4


GC的是.NET中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存

#5


那我每次显示窗口的时候,都new一个新的窗口出来?
前面new出来的关闭后就没用了?

引用 4 楼 wuyq11 的回复:
GC的是.NET中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存

#1


咋没人说话?

#2


不懂你是什么意思,那就不用关闭了
用this.Hide()好了

#3


放心的NEW吧,GC会搞定一切。

#4


GC的是.NET中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存

#5


那我每次显示窗口的时候,都new一个新的窗口出来?
前面new出来的关闭后就没用了?

引用 4 楼 wuyq11 的回复:
GC的是.NET中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存