繁体   English   中英

WPF ShowDialog 单击所有者窗口事件

[英]WPF ShowDialog Click owner Window Event

我的英文不是很好,希望你能帮我回答这个问题,快点,WPF的时候ShowDialog(),点击其他父窗体触发的事件可以捕获吗?

比如系统自带的MessageBox,点击父窗口,会有闪烁的动画。

我想捕获事件,谢谢

首先,无论你的目标是在年底,大概可以用不同的方式达到。 我真的鼓励你退后几步,三思而后行,在实际做你要求的事情之前尝试从不同的方面解决问题。

至于你的问题,你在WPF中没有这样的事件。 有一个答案,但没有简单的方法。 您必须猜测并进行低级别。 猜测将取决于它运行的 Windows 版本。

无论如何,您需要检查您的所有者表单收到的窗口消息的顺序。 在 Windows 8.1 中,所有者表单接收WM_WINDOWPOSCHANGING,其中 lParam 指向flags至少为0x13 : SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOSIZE结构0x13 : SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOSIZE

当然,要获取此信息,您需要先覆盖窗口的 WindowProc,这在 WPF 中是一个单独的乐趣。 此外,参数组合也可能发生在其他情况下,因此您必须确保以某种方式跟踪您打开了一个模态对话框,以便这种窗口消息实际上意味着尝试激活所有者窗口。

它是低级 Windows 管理,因此您基本上可以做任何事情。 但我真的建议你在朝这个方向前进之前多考虑几次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM