2017-04-09 12 views
1

したがって、MenuItemがActiveDocumentにバインドされています。バインドされたviewmodelがnullのときにmenuitemを無効にする

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

無効化をViewModelにで設定されている/有効化:私はのActiveDocumentを持っていないとき

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

にはどうすれば無効にMenuItemのデフォルトを作ることができますか?

Commandプロパティが null参照を返したときにあなたが falseMenuItemIsEnabledプロパティを設定するトリガーと Styleを使用することができ

答えて

1

<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> 
関連する問題