我只是learned我们可以使用UserControl
控件将WPF Form
置于窗口ElementHost
。如果处理了窗体控件,那么WPF用户控件也会被处理掉吗?
答案 0 :(得分:2)
如果您的WPF UserControl
为IDisposable
,则答案为是,否则为否。
在托管WPF Dispose
的{{3}}类的UserControl
方法的源代码中,您可以看到:
IDisposable child = this.Child as IDisposable;
if (child != null)
{
child.Dispose();
}
这意味着Child
将被处置,如果它是IDisposable
。
注意强>
WPF不依赖IDisposable
接口进行资源清理。但由于UserControl
将在支持ElementHost
模式的IDisposable
控件中的Windows窗体项目中使用,因此如果需要执行某些资源,则可以依赖IDisposable
模式清理。但如果它是一个WPF项目,你应该使用WPF机制进行资源清理。