哪些事件表示在WPF中基于UserControl的控件已被破坏?

时间:2018-07-04 13:05:15

标签: c# wpf

我的对话框中有一个“网格”面板,其中填充了不同的控件。有些控件是从UserControl类继承的,在销毁控件之前,需要执行一些操作(如任务终止,状态保存等)。

什么事件表明在WinPF中像protected override void OnHandleDestroyed(EventArgs e)这样的用户控件在WPF中被破坏了?

1 个答案:

答案 0 :(得分:3)

UserControl直到最终被垃圾回收后才被“销毁”。

从元素树中删除FrameworkElement时会触发一个Unloaded事件。请注意,取决于您的布局和元素的显示方式,同一元素可能会多次触发该事件。

但是没有UserControl引发的“销毁”事件。当不再有任何托管对象的引用时,所有托管对象都可以进行垃圾回收。

如果出于某种原因需要显式地销毁您的自定义UserControl,则应考虑实现IDisposable接口,并在使用完实例后显式处置它们。但是WPF不会为您调用Dispose方法。