Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WPF中的应用程序级别捕获密钥更新事件_Wpf_User Controls_Key_Children - Fatal编程技术网

在WPF中的应用程序级别捕获密钥更新事件

在WPF中的应用程序级别捕获密钥更新事件,wpf,user-controls,key,children,Wpf,User Controls,Key,Children,嗨,我有一个内置wpf的应用程序 在底层,我有一个usercontrol,在这个usercontrol上有许多组件 我希望能够捕获usercontrol上的按键事件,即使焦点在其中一个子项上。使用PreviewKeyUp似乎不起作用 谢谢, Matt。也许我没有完全理解您的问题,但是如果您没有将keydown事件设置为handled,它应该上升到层次结构 public UserControl1() { InitializeComponent();

嗨,我有一个内置wpf的应用程序

在底层,我有一个usercontrol,在这个usercontrol上有许多组件

我希望能够捕获usercontrol上的按键事件,即使焦点在其中一个子项上。使用PreviewKeyUp似乎不起作用

谢谢,
Matt。

也许我没有完全理解您的问题,但是如果您没有将keydown事件设置为handled,它应该上升到层次结构

public UserControl1()
          {
               InitializeComponent();
               this.KeyDown += new KeyEventHandler(UserControl1_KeyDown);
               textBox1.KeyDown += new KeyEventHandler(textBox1_KeyDown);
          }

          void textBox1_KeyDown(object sender, KeyEventArgs e)
          {
               Console.WriteLine("txt keydown: "+e.Key.ToString());
          }

          void UserControl1_KeyDown(object sender, KeyEventArgs e)
          {
               Console.WriteLine(e.Key.ToString());
          }
输出:

txt keydown: Y
Y