我有几个用户控件在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"/>
答案 0 :(得分:0)
隧道命令不起作用,它们从根到目标站点,它们不会“分裂”。所以他们从窗口开始,然后在点击的按钮处结束。