Tengo un control con una propiedad public MyClass MyProperty{...}
cuyo valor se muestra en la pantalla como un gráfico. Quiero que esta propiedad sea capaz de unirse a cualquier otro MyClass
en el programa utilizando la clase Binding
(MyProperty
sería el parámetro propertyName
en thisBinding
constructor, y el otro MyClass
sería el parámetro dataMember
).¿OneWay vinculante en WinForms?
MyClass
implementa INotifyPropertyChanged
entonces en ese lado todo está bien. Pero sucede que si no implemento un acceso get
en MyProperty
y trato de vincular algo, obtengo un "No se puede vincular a la propiedad 'MyProperty' en el control de destino. Nombre del parámetro: PropertyName" error.
¿Quiere decir esto que tengo para implementar un descriptor de acceso get
aunque sé que nunca tendrá que leer su valor y quiero una OneWay (origen al destino) de unión, e incluso si acabo de regresar null
en el get
¿Accesor?
Supongo que la clase Binding
usa esto para comparar el nuevo valor con el anterior o para hacer otras cosas internas. No estoy seguro, entonces, si es una buena idea simplemente devolver null
, o sería mejor guardar siempre una copia de lo último que se haya asignado con el acceso set
y devolverla en el acceso get
. Tal vez realmente ni siquiera necesito escribir un acceso get
y estoy haciendo algo diferente. Simplemente sucede que obtengo el error solo cuando comento el acceso get
y dejo de obtenerlo cuando lo vuelvo a poner.
Editar: En caso de que haya cualquier confusión: Cuando digo MyProperty
's valor se muestra en la pantalla como un gráfico que no quiere decir que tiene un valor que algún otro código lee y mostrar en la pantalla. Nadie lee ningún valor de MyProperty
. El acceso de MyProperty
set
es el que dibuja cosas en la pantalla y ese es el final del ciclo.
Por favor reformatee esto para usar los párrafos. –
También hay un enlace OneWayToSource. Es difícil saber si resolverá tu problema, porque no puedo leer todo el asunto :) Da algunos clips cortos de código de ejemplo, también. –
En realidad, pensé en los párrafos, pero no estaba seguro de dónde ponerlos. Los pondré en algún lado :). – Juan