2017-04-09 60 views
1

所以我有一个MenuItem绑定到一个ActiveDocument。禁用绑定viewmodel为null时的menuitem

<MenuItem Header="Save File" Command="{Binding ActiveDocument.SaveCommand}"/> 

启用/禁用由视图模型设置:

private bool CanSave(object parameter) 
{ 
    return IsDirty; 
} 

我怎样才能让菜单项默认为禁用时,我没有一个的ActiveDocument?

回答

1

你可以使用一个Style与设置MenuItemfalseIsEnabled财产每当Command属性返回null参考触发:

<MenuItem Header="Save File" Command="{Binding ActiveDocument.SaveCommand}"> 
    <MenuItem.Style> 
     <Style TargetType="MenuItem"> 
      <Style.Triggers> 
       <Trigger Property="Command" Value="{x:Null}"> 
        <Setter Property="IsEnabled" Value="False" /> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </MenuItem.Style> 
</MenuItem>