WPF:取消注册自定义属性更改处理程序的正确位置

时间:2015-06-24 07:16:27

标签: c# wpf

我正在使用UserControl手动将一些属性更改处理程序附加到域对象。在包含UserControl的窗口关闭后,取消注册这些处理程序的正确调用站点是什么?使用析构函数显然是愚蠢的,因为只要域对象通过处理程序引用它就不会收集对象。

1 个答案:

答案 0 :(得分:1)

您应该使用UserControl.Unloaded事件,该事件在从可视树中删除用户控件后发生。

另一种方法是实现IDisposable模式。但解决方案#1将是更好的方法。