如何检测其他代码设置e.d handled = true
本文关键字:设置 handled true 代码 其他 何检测 检测 | 更新日期: 2023-09-27 17:53:57
使用c#, . net 4, WPF。
我有一个Telerik富文本控件,它正在丢失某些键事件(tab, backspace, delete和箭头键是具体的)。
为了调试的目的,我增加了PreviewKeyDown, KeyDown, CommandExecuting和DocumentContentChanged的处理程序。在DEBUG和RELEASE模式下,该行为在有和没有处理程序的情况下都会出现。
如果我按下上面列出的键以外的键,我将按照上面列出的顺序获得事件。例如,如果我按下'a'键,我得到PreviewKeyDown, KeyDown, CommandExecuting和DocumentContentChanged。
如果我按下右箭头键,我得到PreviewKeyDown而没有其他事件触发。
我怀疑有一些在消息链中的某个点捕获KeyDown事件,然后才到达我并设置e.h handled = true。
是否有任何可用的工具,可以让我检测KeyDown事件,看看在什么代码它的e.Handled被修改?我知道我在这里拉伸…
谢谢!
rjsjr
您可以使用Snoop。它可以告诉您,哪个Element set处理= true。如果你需要处理这些事件,你可以使用EventManager.RegisterClassHandler()。