gpt4 book ai didi

wpf - 如何处理 KeyDown 事件的 WPF TextBox "knows"

转载 作者:行者123 更新时间:2023-12-02 05:04:59 26 4
gpt4 key购买 nike

我注意到,当窗口正在处理由其中的文本框引发的 KeyDown 事件并将事件 Handled 标志设置为 true 时,文本框会忽略按下的键并且不会将其添加到其内容中。

根据我对工作原理的理解,如果 PreviewKeyDown 事件首先从窗口隧道传输到 TextBox,然后 KeyDown 事件从 TextBox 向上冒泡到窗口。当窗口的事件处理程序开始设置 Handled 事件时,该事件不再由 TextBox 处理,但我确实看到它有效果,并且按下的键没有添加到 TextBox。

谁能解释一下这是如何工作的?

(这是一个一般性问题,但在我看到我们正在使用的第三方控件中出现类似行为后提出,这给我带来了问题,因为我希望控件处理事件但阻止它向上冒泡.)

最佳答案

好吧,实际上,无论是否处理这些事件,这些事件总是会冒泡/隧道。只是大多数事件处理程序未注册以接收“已处理”事件的情况。

例如,可以选择订阅 KeyDown 事件并接收“调用”,即使它已在某处处理。

但是,是的,事件的顺序通常是它从顶部(隧道)开始,然后向下隧道回到元素并向上冒泡。

如果您有更多问题,请告诉我。

关于wpf - 如何处理 KeyDown 事件的 WPF TextBox "knows",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12847157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com