2017-04-09 69 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>