【发布时间】:2015-11-05 13:13:12
【问题描述】:
我正在努力了解在 WPF 中使用自定义路由命令比标准事件有什么好处。
假设我在静态类中声明了一个自定义 RoutedCommand,如下所示:
public static readonly RoutedCommand Foo = new RoutedCommand();
为了将它连接到 UIElement,我会这样做:
CommandBindings.Add(new CommandBinding(Commands.Foo, new ExecutedRoutedEventHandler((x, y) => {
MessageBox.Show("Something Happend");
})));
好的,通常以更简洁的方式,但我的第一个问题是 - 路由命令如何跟踪此特定 UI 元素具有针对它的 CommandBinding? routedcommand 是否在整个应用程序树中跟踪命令绑定,直到在其命令绑定列表中找到具有正确 routedcommand 的 UIElement?
我注意到仍然需要触发此命令,例如按钮
btn.Command = Commands.Foo;
我的下一个问题是,仅通过标准事件创建这些路由命令有什么意义?
【问题讨论】:
标签: c# .net wpf routed-commands