【问题标题】:Passing Input events from HwndHost to underlying WPF controls?将输入事件从 HwndHost 传递到底层 WPF 控件?
【发布时间】:2011-04-03 14:24:30
【问题描述】:

有没有办法将发生在 HwndHost 上的输入事件(主要是鼠标,但最终也是键盘输入)传递回底层 WPF 控件(例如面板)?我可以连接到 HwndHost 中的 WndProc 并接收 Windows 消息。 我可以手动为鼠标单击创建一个 routedevent 并将其发送给父级以便它冒泡吗? 和想法将不胜感激。 谢谢 杰克斯

【问题讨论】:

    标签: wpf hwnd routedevent hwndhost


    【解决方案1】:

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

    【讨论】:

    • 这个问题显然不是关于 WndProc,而是关于将事件转发到 WPF 路由事件,以便它们正确地通过控制树隧道/冒泡,并让其他控件有机会处理它们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多