我在我的WPF应用程序中创建了一个“附加行为”,可以处理Enter键和转移到下一个控件。我称之为EnterKeyTraversal.IsEnabled,并且你可以在我的博客这里看到代码。
我现在的主要担忧是可能存在内存泄漏,因为我正在处理UI元素上的PreviewKeyDown事件,但从未明确地“取消挂钩”该事件。
防止此泄漏的最佳方法是什么(如果确实存在)?我应该保留我管理的元素列表,并在Application.Exit事件中取消挂钩PreviewKeyDown事件吗?是否有人在其自己的WPF应用程序中成功使用过附加行为,并提出了优雅的内存管理解决方案?
ue.PreviewKeyDown -= ue_PreviewKeyDown
不是必要的。 - Golvellius