【发布时间】:2012-06-20 08:18:07
【问题描述】:
我有几个在 ListBox 中实例化的用户控件。我的窗口中有一个按钮,它会引发NavigationCommands.Refresh,还有一个CanExecute 处理程序允许它执行:
<Window.CommandBindings>
<CommandBinding Command="NavigationCommands.Refresh" CanExecute="CanAlwaysExecute" />
</Window.CommandBindings>
在每个动态创建的用户控件(在 ListBox 的 ItemTemplate 中创建)中,我都有一个用于 NavigationCommands.Refresh 的处理程序。当我单击窗口中的按钮时,我在每个用户控件中设置的处理程序是否应该不触发?我需要命令来隧道到每个 UC,但它不是。
<UserControl.CommandBindings>
<CommandBinding Command="NavigationCommands.Refresh" Executed="UpdateStatus" CanExecute="CanAlwaysExecute" />
</UserControl.CommandBindings>
....
<Button Width="200" Text="Refresh All" Command="NavigationCommands.Refresh"/>
【问题讨论】:
标签: wpf icommand routed-events commandbinding tunneling