首页 > 解决方案 > menuitem 不适用于 ischecked 属性

问题描述

我有一个菜单项,其中包含 ischecked 属性。单击菜单项时,应继续保存文件,未单击菜单项时,应覆盖先前保存的文件。点击部分正在工作,但是当它没有被点击时它不会覆盖。menuitem 的值始终保持为真。

.xaml

 <MenuItem Header="Save" IsChecked="{Binding Saving ,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"  >
  

。CS

 private bool saving =true;
    public bool Saving
    {
        get
        {
            return saving;
        }
        set
        {
            saving = value;
            RaisePropertyChanged("Saving");
        }
    }

 Configuration.isPrevSave = Saving;

 if (Configuration.isPrevSave == false && Configuration.PreviousFilePath != null && Directory.Exists(Configuration.PreviousFilePath))
                DirectoryInfo.DeleteContents(Configuration.PreviousFilePath);
            else //works
       

标签: c#wpf

解决方案


假设 DataContext 是正确的,您只缺少 IsCheckable="True"

<MenuItem Header="Save" IsCheckable="True" IsChecked="{Binding Saving ,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">

推荐阅读