可以在上下文菜单打开时执行ICommand

时间:2013-08-08 05:15:55

标签: wpf contextmenu icommand canexecute

控件的ContextMenuMenuItem绑定到ICommand。 ICommand的Can Execute有一些代码来启用和禁用MenuItem。这会在加载和检查Can Execute时命中,但是在打开ContexMenu时它可以命中,并且在打开ContextMenu时每次都需要命中(Checks)。

<Border>
    <Border.ContextMenu> 
       <ContextMenu> 
           <MenuItem Command="{Binding SaveCommand, Source={StaticResource vm}}" CommandParameter="{Binding}" Header="Menu1" />
       </ContextMenu> 
    </Border.ContextMenu>
</Border>

怎么可能这样做。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您应该从ViewModel触发事件ICommand.CanExecuteChanged(),这将导致Control从ViewModel调用CanExecute。