嗨,我有一个内置于 wpf 的应用程序。
在基本级别,我有一个用户控件,并且该用户控件上有许多组件。
即使焦点在其中一个孩子身上,我也希望能够在我的用户控件上捕获按键事件。使用 PreviewKeyUp 似乎没有奏效。
谢谢,马特。
嗨,我有一个内置于 wpf 的应用程序。
在基本级别,我有一个用户控件,并且该用户控件上有许多组件。
即使焦点在其中一个孩子身上,我也希望能够在我的用户控件上捕获按键事件。使用 PreviewKeyUp 似乎没有奏效。
谢谢,马特。
也许我不完全理解你的问题,但如果你没有将 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