【发布时间】:2010-11-28 02:54:50
【问题描述】:
是否有任何标准方法可以将所有 Key 事件从控件 A 路由到其他控件 B?我希望键盘焦点仍然在A 上,但是A 的事件处理程序会触发B 的所有事件处理程序来处理关键事件。
编辑: 澄清:调用我为B 编写的特定事件处理程序是不够的。我需要模仿实际事件。因此,例如,我希望如果将密钥发送到TextBox,它将被写入TextBox。下面给出的解决方案没有做到这一点(更不用说如果将新的事件处理程序添加到 B 它将完全失败)。
我知道 WPF 区分逻辑焦点和键盘焦点,但我需要两个焦点都保持在控件 A 上,但在某些情况下将其传入事件路由到其他控件。
【问题讨论】:
-
你不能让控件 A 的关键事件做一些检查,如果需要,调用控件 B 的关键事件吗?
-
不!这不会触发事件,它只会调用曾经与按钮的单击事件相关联的单个特定函数。我想模拟 WPF 发送的实际事件。
-
@Elazar - 查看我的编辑。
RaiseEvent()方法会起作用吗?
标签: c# wpf events event-handling