【发布时间】:2011-04-03 14:24:30
【问题描述】:
有没有办法将发生在 HwndHost 上的输入事件(主要是鼠标,但最终也是键盘输入)传递回底层 WPF 控件(例如面板)?我可以连接到 HwndHost 中的 WndProc 并接收 Windows 消息。 我可以手动为鼠标单击创建一个 routedevent 并将其发送给父级以便它冒泡吗? 和想法将不胜感激。 谢谢 杰克斯
【问题讨论】:
标签: wpf hwnd routedevent hwndhost
有没有办法将发生在 HwndHost 上的输入事件(主要是鼠标,但最终也是键盘输入)传递回底层 WPF 控件(例如面板)?我可以连接到 HwndHost 中的 WndProc 并接收 Windows 消息。 我可以手动为鼠标单击创建一个 routedevent 并将其发送给父级以便它冒泡吗? 和想法将不胜感激。 谢谢 杰克斯
【问题讨论】:
标签: wpf hwnd routedevent hwndhost
如果您仍然需要答案:是的,您可以。在此处查看 Microsoft 示例:http://msdn.microsoft.com/en-us/library/ms752055.aspx 在该示例中,HwndHost 派生类首先创建一个“子”窗口,然后在该窗口中创建一个控件 (ListBox)。然后添加一个 HwndSourceHook 来捕获消息(在示例中,来自 ListBox 的选择更改消息)并在 WPF 上下文中使用它们。
【讨论】: