当绑定视图模型为空时禁用菜单项



所以我有一个绑定到活动文档的MenuItem

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

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

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

当我没有活动文档时,如何使菜单项默认为禁用?

可以使用带有触发器的Style,该触发器将MenuItemIsEnabled 属性设置为在 Command 属性返回null引用时false

<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>

最新更新