Ela*_*ich 8 c# wpf events event-handling
是否有任何标准方法将所有Key事件从控件路由A
到其他控件B
?我希望键盘焦点仍然可用,A
但是事件处理程序A
会触发B
关键事件的所有事件处理程序.
编辑:澄清:调用我写的特定事件处理程序B
是不够的.我需要模仿实际的事件.所以例如我希望如果一个密钥被发送到a TextBox
,它将被写入TextBox
.下面给出的解决方案不会这样做(更不用说如果新的事件处理程序添加到B
它完全失败的事实).
我知道WPF区分逻辑焦点和键盘焦点,但我需要两个焦点保持控制A
,但在某些情况下将其传入事件路由到其他控件.
你不能做这样的事情吗?
private void button1_Click(object sender, RoutedEventArgs e)
{
// Check if the event needs to be passed to button2's handler
if (conditionIsMet)
{
// Send the event to button2
button2.RaiseEvent(e);
}
else
{
// button1's "Click" code
}
}
private void button2_Click(object sender, RoutedEventArgs e)
{
// button2's "Click" code
}
Run Code Online (Sandbox Code Playgroud)
编辑:修改代码以使用该RaiseEvent()
方法以编程方式引发特定事件,而不仅仅是调用button2
.