【发布时间】:2010-09-06 01:21:59
【问题描述】:
我在我的 WPF 应用程序中创建了一个“附加行为”,它允许我处理 Enter 按键并移动到下一个控件。我叫它EnterKeyTraversal.IsEnabled,你可以在我的博客here看到代码。
我现在主要担心的是我可能有内存泄漏,因为我正在处理 UIElements 上的 PreviewKeyDown 事件并且从未明确地“取消挂钩”该事件。
防止这种泄漏的最佳方法是什么(如果确实存在的话)?我是否应该保留我正在管理的元素的列表,并在 Application.Exit 事件中解开 PreviewKeyDown 事件?有没有人成功地在自己的 WPF 应用程序中附加了行为并提出了一个优雅的内存管理解决方案?
【问题讨论】: