繁体   English   中英

如果在将要处置的Windows窗体中使用WPF用户控件,将被处置吗?

[英]Will the WPF user Control be Disposed if used inside a Windows Form that will be disposed?

因此,我刚刚了解到可以使用ElementHost控件将WPF UserControl放入Windows Form 如果该Windows窗体控件被部署了,WPF用户控件也将被部署吗?

如果您的WPF UserControlIDisposable则答案为是,否则为否。

在承载WPF UserControlElementHost类的Dispose方法的源代码中,您可以看到以下内容:

IDisposable child = this.Child as IDisposable;
if (child != null)
{
    child.Dispose();
}

这意味着如果ChildIDisposable ,将对其进行处置。

注意

WPF不依赖IDisposable接口进行资源清理。 但是,由于UserControl将在支持IDisposable模式的ElementHost控件的Windows窗体项目中使用,因此如果需要执行一些资源清理操作,则可以依赖IDisposable模式。 但是,如果这是WPF项目,则应使用WPF机制进行资源清理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM