2012-01-07 52 views
15

estoy usando el patrón MVVM y estoy recibiendo el siguiente cuando ejecuto mi aplicaciónInvalidOperationException - Un TwoWay o OneWayToSource vinculante no puede trabajar en la propiedad de sólo lectura

InvalidOperationException Un TwoWay o OneWayToSource vinculante no puede trabajar en el propiedad de solo lectura 'Opciones' de tipo 'ViewModel.SynergyViewModel'.

He comentado todas mis fuentes en mi modelo de vista y he reenviado esto a una casilla de verificación. Si hago un comentario sobre la casilla de verificación o la propiedad en mi modelo de vista, se ejecuta la aplicación, menos la funcionalidad. A continuación, he enumerado el código de mi casilla de verificación y la propiedad dentro del modelo de vista.

<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 se produjo Mensaje = A TwoWay o OneWayToSource vinculante no puede trabajar en la propiedad de sólo lectura 'Opciones' del tipo 'ViewModel.MyViewModel'. Fuente = PresentationFramework StackTrace: en MS.Internal.Data.PropertyPathWorker.CheckReadOnly (tema objeto, objeto info) InnerException:

¿Alguna idea sobre lo que yo soy lo que me falta aquí?

+0

posible duplicado de [A TwoWay o OneWayToSource vinculante no puede trabajar en la propiedad de sólo lectura] (http: // stackoverflow.com/questions/590269/a-twoway-or-onewaytosource-binding-cannot-work-on-the-read-only-property) – DocMax

Respuesta

21

O bien haga que su setter sea público o establezca explícitamente Binding.Mode en OneWay.

+1

gracias sabía que estaba haciendo algo tonto. – poco

+0

Si está desarrollando un proyecto .net 4.0 WPF en una máquina con .net 4.5 instalado, ¡no se encontrará con este error durante el desarrollo! Microsoft necesita arreglar esto. – Jordan

+0

Es tan extraño que estoy obteniendo el mismo error con un setter interno ... Hubiera supuesto que un setter interno estaría permitido, pero extrañamente no. – Omaer

1

Su colocador es privada, o bien especifique la encuadernación que se OneWay modo o eliminar el privado desde el colocador

Cuestiones relacionadas