4

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

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

我认为我需要的是捕获键的能力,并且在事件处理程序中只需将焦点移动到序列中的下一个控件,但我似乎无法捕获任何键盘输入。我已经尝试过 WPF PreviewKey.. 事件等,但是一旦选项卡进入控件,它似乎会留在其中并且 WPF 事件被忽略。

我在许多 WPF 书籍和网络中都找不到关于此的任何内容。任何人都可以提出一种方法吗?

谢谢,杰克。

4

1 回答 1

0

你不能通过在面板或窗口(无论是你的控件的父级)上做一个预览鼠标来创建某种过滤器,这样面板会在用户控件之前捕获它,你应该设置 e.handled 到是的,如果用户控件引发了选项卡事件,请继续推动焦点,直到您获得另一个控件。Preview 和 e.Handled=ture 应该可以解决问题。

于 2012-01-09T19:50:12.660 回答