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.
| 归档时间: |
|
| 查看次数: |
3731 次 |
| 最近记录: |