控件的ContextMenu
和MenuItem
绑定到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>
怎么可能这样做。有什么想法吗?
答案 0 :(得分:0)
您应该从ViewModel触发事件ICommand.CanExecuteChanged(),这将导致Control从ViewModel调用CanExecute。