c# - 查找 RoutedEvent 的目的地

标签 c# wpf routed-commands

当我执行路由命令时,假设:

ApplicationCommands.Undo.Execute(null, this);

WPF 做了一些神奇的事情来找到它在其上执行 ExecutedRoutedEventHandler 的正确的 CommandBinding

有没有办法获取对将要执行的 CommandBinding(或至少是处理程序)的引用?

有时知道谁在处理命令对于调试来说会很好。

最佳答案

您可以尝试检查 CommandBinding 列表:

       UIElement
       ContentElement 
       UIElement3D

ApplicationCommands 正在内部检查发送者是否在 CommandBinding 中有特定的命令。此外,如果 sender 为 null,则 Keyboard.FocusedElement 被指定为发件人。

关于c# - 查找 RoutedEvent 的目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4004310/

相关文章:

c# - .net 在运行时重新加载程序集

c# - 如何在c#中序列化DBParameters

c# - 如何创建不随 AdornedElement 缩放的装饰器?

.net - 使用 WPF UI 线程应该始终确保 STA 公寓模式,对吗?

c# - 在 WPF DataGrid 中实现自定义复制和粘贴,这在其中没有行时有效

c# - 使用 Metro 风格应用程序启动桌面应用程序

c# - 如何使用 .NET 正则表达式库匹配和删除反斜杠 "\"和 "\n"字符?

wpf - Idataerrorinfo 中如何调用索引器?

c# - 如何以编程方式触发命令

.net - ICommand 如何以及在何处融入整个 WPF MVVM 模式?