【问题标题】:Getting TextInput while also preventing KeyDown and Keyup events from propagating to parent controls获取 TextInput,同时防止 KeyDown 和 Keyup 事件传播到父控件
【发布时间】:2013-02-28 22:32:15
【问题描述】:

我有一个自定义 WPF 控件,它想要处理按键按下和按下事件以及文本输入。例如,如果用户在键盘上点击 Home,我想在我的自定义控件中处理它并防止它冒泡到其他控件。

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

如何在不让事件传播到父控件的情况下处理按键按下和按键向上事件以及文本输入(与文本框控件差不多)?

【问题讨论】:

    标签: wpf custom-controls


    【解决方案1】:

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

    【讨论】:

    • 我对所有键都感兴趣。我正在将键盘输入提供给另一个库,该库需要向下、向上和字符输入。我基本上想像文本框一样工作(即允许在不传播的情况下按下 Home,同时还获得字符输入),但我不清楚它们如何捕获所有这些事件。
    猜你喜欢
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2020-01-11
    • 1970-01-01
    相关资源
    最近更新 更多