如何检测可视树什么时候被销毁?
- 论坛
- 如何检测可视树什么时候被销毁?
17 浏览
如何检测可视树什么时候被销毁?
在一个WPF应用程序中,我有一个控件是整个应用程序的核心。这个控件被称为ArtView
,在主窗口的整个生命周期中都是可见的。它执行硬件加速渲染,为了避免UI线程阻塞,我在这个控件的OnLoaded
处理程序中设置了一个事件循环。像鼠标点击、键盘输入和滚动等事件都被添加到一个队列中,然后由事件循环消耗,但我遇到的问题是,我不知道如何在窗口关闭时结束事件循环。当我关闭包含该控件的窗口时,OnUnloaded
不会触发,那么在控件不再可见时禁用事件循环的最佳方法是什么?我知道可以像Window.GetWindow(this).Closing += OnWindowClosing;
这样做,但感觉像是一个hack。
admin 更改状态以发布 2023年5月24日