在WPF中的WindowsFormsHost控件中捕获键盘输入

时间:2010-06-20 15:42:09

标签: wpf event-handling keyboard windowsformshost

我在WinForms用户控件中有一个ActiveX控件。我的WinForms应用程序非常喜欢它!

现在,转到WPF,我在WindowsFormsHost控件中使用用户控件。工作得很好...,但我想将此控件视为单个元素,以便用户可以在现有的WPF控件上巧妙地点击TAB并且此用户控制不要“进入”它。即将它视为与其他所有人一样的单一控制。

我认为我需要的是捕获键的能力,并且在事件处理程序中只需将焦点移动到序列中的下一个控件,但我似乎无法捕获任何键盘输入。我已经尝试了WPF PreviewKey ..事件之类的东西,但是一旦标签进入控件,它似乎留在它里面并忽略了WPF事件。

我在许多WPF书籍和网上都找不到任何相关内容。任何人都可以建议吗?

谢谢, 插孔。

1 个答案:

答案 0 :(得分:0)

您是否可以通过在面板或窗口上执行预览鼠标来创建某种过滤器(无论控件的父级是什么),这样面板将在用户控件之前捕获它,您应该将e.handled设置为true,如果用户控件引发了tab事件,则继续按下焦点,直到获得另一个控件。预览和e.Handled = ture应该可以解决问题。