1

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

在基本级别,我有一个用户控件,并且该用户控件上有许多组件。

即使焦点在其中一个孩子身上,我也希望能够在我的用户控件上捕获按键事件。使用 PreviewKeyUp 似乎没有奏效。

谢谢,马特。

4

1 回答 1

0

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

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
于 2010-04-22T11:33:49.497 回答