InvalidOperationException - TwoWay或OneWayToSource绑定无法在只读属性上运行

poc*_*oco 15 c# data-binding wpf xaml mvvm

我正在使用MVVM模式,并在运行我的应用程序时收到以下内容

InvalidOperationException TwoWay或OneWayToSource绑定不能对"ViewModel.SynergyViewModel"类型的只读属性"Options"起作用.

我在我的视图模型中评论了我的所有源代码,并将其追溯到复选框.如果我注释掉我的视图模型中的复选框或正确性,应用程序运行,减去功能.下面我列出了我的复选框的代码和viewmodel中的属性.

<CheckBox Grid.Column="4" HorizontalAlignment="Right" Margin="5,0,5,5" IsChecked="{Binding Options}" Content="Options"/>
Run Code Online (Sandbox Code Playgroud)
private bool _Options;
public bool Options
{
    get
    {
        return _Options;
    }
    private set
    {
        if (_Options == value)
            return;

        _Options = value;
        OnPropertyChanged("Options");
    }
}
Run Code Online (Sandbox Code Playgroud)

发生System.InvalidOperationException Message = TwoWay或OneWayToSource绑定无法在"ViewModel.MyViewModel"类型的只读属性"Options"上工作.Source = PresentationFramework StackTrace:at MS.Internal.Data.PropertyPathWorker.CheckReadOnly(Object item,Object info)InnerException:

关于我在这里缺少什么的想法?

ins*_*pid 22

要么让你的setter公开,要么明确地设置Binding.ModeOneWay.

  • 我希望这个答案指定如何将Binding.Mode设置为OneWay - 我该怎么做?在集? (2认同)