将输入事件从HwndHost传递到底层的WPF控件?

8

是否有办法将发生在HwndHost上的输入事件(主要是鼠标,但最终也包括键盘输入)传递回底层的WPF控件(例如一个面板)?我可以连接到HwndHost内的WndProc并接收Windows消息。 我能否手动创建一个路由事件,用于鼠标点击,并将其发送给父级,以便它冒泡? 任何想法都会受到赞赏。 谢谢 jkersch

1个回答

1
如果您仍需要答案:是的,您可以。请查看此处的Microsoft示例:http://msdn.microsoft.com/en-us/library/ms752055.aspx 在该示例中,HwndHost派生类首先创建一个“子”窗口,然后在该窗口中创建一个控件(ListBox)。然后添加了一个HwndSourceHook来捕获消息(在示例中,从ListBox的选择更改消息),并在WPF上下文中使用它们。

这个问题明确不是关于WndProc的,而是关于将事件转发到WPF路由事件,以便它们可以正确地通过控件树进行隧道/冒泡,并给其他控件处理它们的机会。 - Zarat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接