本文记录在 Popup 失焦后导致 ListBox 无法用 MouseWheel 滚动问题
原因:
Popup虽然是个完整独立的窗体,但它的激活要靠它的“父窗口”间接来激活,这里之所以说是“父窗口”,是因为它本身并没有真正的“父窗口”,它只是从“父窗口”里产生的一个游离的“子窗口”,也就是说它没记住它的“父亲”,但是它的“父亲”倒是记住它了,在“父亲”被激活的时候,“父亲”会去主动激活它这个不肖的“儿子”。
所以问题解决就从激活“父窗口”开始,在Popup窗体的PreviewMouseDown事件处理函数中,直接激活“父窗口”就可以了。写成伪代码如下:
原文链接: http://blog.lindexi.com/post/WPF-%E5%B7%B2%E7%9F%A5%E9%97%AE%E9%A2%98-Popup-%E5%A4%B1%E7%84%A6%E5%90%8E%E5%AF%BC%E8%87%B4-ListBox-%E6%97%A0%E6%B3%95%E7%94%A8-MouseWheel-%E6%BB%9A%E5%8A%A8%E9%97%AE%E9%A2%98%E5%92%8C%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。