Ok, Así que me he estancado en mi último proyecto no laboral, tratando de usar WPF. Estoy francamente molesto por la databinding. Pensé que se suponía que debía simplificar las cosas vinculando los datos directamente a la interfaz de usuario. Pero cuanto más aprendo sobre la necesidad de implementar INotifyPropertyChanged para que las cosas notifiquen a la UI si han cambiado, parece que todo el proceso es productivo.¿El enlace de datos de WPF hace que las cosas sean más dolorosas de lo que valen?
¿Echo de menos algo? Parece que un montón de trabajo y tener que hacer que las clases implementadas INotifyPropertyChanged parezcan una manera sospechosa de poner en marcha el enlace de datos.
¿Qué me estoy perdiendo? Debo estar perdiendo algo. Por favor, infórmeme sobre cómo hacer que la vinculación de datos sea sencilla o, al menos, directa.
De modo que cada vez que una propiedad de una clase cambia, tenemos que hacer que eleve el evento PropertyChanged? Eso parece tedioso ¿Qué sucede si ni siquiera tenemos el código para la clase a la que queremos vincularnos? ¿Esto no se ensucia? –
GordonG, aquí es donde se recomienda encarecidamente el modelo Model-View-ViewModel. Su ViewModel (capa intermedia) básicamente maneja esto permitiéndole volver a exponer las propiedades subyacentes del Modelo, pero su información de Vista se une a las propiedades reexpuestas del ViewModel (¡NO el modelo!). – Adrian
(continúa desde arriba) Su ViewModel implementa INotifyPropertyChanged y para las llamadas 'get' solo devuelve el valor por propiedad del modelo subyacente, pero en llamadas 'configuradas', ambos establecen el valor de propiedad del modelo subyacente Y activa PropertyChanged para que View vea el valor actualizado. – Adrian