InvalidOperationException - привязка TwoWay или OneWayToSource не может работать для свойства только для чтения - PullRequest
15 голосов
/ 08 января 2012

Я использую шаблон MVVM и получаю следующее при запуске моего приложения

InvalidOperationException Привязка TwoWay или OneWayToSource не может работать со свойством только для чтения «Опции» типа «ViewModel.SynergyViewModel»..

Я прокомментировал весь мой источник в моей модели представления и проследил это до флажка.Если я закомментирую флажок или правильность в моей модели представления, приложение будет запущено, минус функциональность.Ниже я перечислил код для своего флажка и свойство в пределах модели представления.

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

        _Options = value;
        OnPropertyChanged("Options");
    }
}

Произошло исключение System.InvalidOperationException Сообщение = привязка TwoWay или OneWayToSource не может работать со свойством только для чтения «Параметры»типа «ViewModel.MyViewModel».Source = PresentationFramework StackTrace: в MS.Internal.Data.PropertyPathWorker.CheckReadOnly (элемент объекта, информация об объекте) InnerException:

Любые идеи о том, что мне здесь не хватает?

Ответы [ 2 ]

22 голосов
/ 08 января 2012

Либо сделайте ваш установщик общедоступным, либо явным образом установите Binding.Mode на OneWay.

1 голос
/ 08 января 2012

Ваш установщик является личным, либо укажите привязку для режима OneWay, либо удалите привязку из установщика

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...