MVVM. IsEnabled MenuItem

У меня есть меню:

<Button.ContextMenu>
                    <ContextMenu Placement="Bottom">
                        <MenuItem Header="H"  Command="{Binding AddCommand1}"/>
                        <MenuItem Header="H1" Command="{Binding AddCommand2}"/>
                        <MenuItem Header="H2"  Command="{Binding AddCommand3}"/>
                        <MenuItem Header="H3"  Command="{Binding AddCommand4}"/>
                        <MenuItem Header="H4" Command="{Binding AddCommand5}"/>
                    </ContextMenu>
                </Button.ContextMenu>

И есть какой-то метод:

private void Method()
    {

       
    }

Как в этом методе установить IsEnabled для последнего пункта меню?


Ответы (1 шт):

Автор решения: babyhn9

В Xaml

  <MenuItem Header="H4" Command="{Binding AddCommand5}" IsEnabled="{Binding H5Enabled}"/>

В ViewModel

private bool _h5enabled

public bool H5Enabled 
{
    get=> _h5enabled;
    set 
    {
      _h5enabled= value;
      Notify(); //вызов вашего метода сообщения об обновлении поля
    };
}

private void Method() 
{
    H5Enabled = false;
}
→ Ссылка