获取TextInput同时也阻止KeyDown和Keyup事件传播到父级控件

问题描述:

我有一个自定义的WPF控件,想要同时处理关键事件以及文本输入。例如,如果用户在键盘上点击Home,我想在我的自定义控件中处理它,并防止它冒泡到其他控件。获取TextInput同时也阻止KeyDown和Keyup事件传播到父级控件

现在,我可以通过处理我的自定义控件中的按键向下和向上事件并将KeyEventArgs.Handled设置为true来实现此目的。但是,这具有不幸的副作用,即文本输入事件没有得到生成。

我该如何处理关键事件和关键事件以及文本输入而不让事件传播到父控件(几乎如何处理文本框控件)?

您可以尝试将KeyEventArgs.Handled设置为true,仅用于您有兴趣处理的键,例如您的示例中的Home键,并允许其余的泡泡。

+0

我对所有钥匙感兴趣。我正在将键盘输入提供给另一个库,它需要向下,向上和字符输入。我基本上想要像文本框一样工作(即允许在不传播主页的同时获得字符输入),但我不清楚他们如何捕获所有这些事件。 – dreijer 2013-02-28 23:27:07