Disculpe si el título es confuso pero realmente no sé cómo acortar mi pregunta. De todos modos, aquí va.MVVM - Enlazar directamente al objeto del modelo expuesto desde la VM o implementar una propiedad separada en la máquina virtual para acceder a las propiedades del modelo
Estoy usando WPF, Entity Framework y MVVM.
Actualmente, en mi modelo de vista, tengo una propiedad
public Model.Document Document {get;set;} //Model.Document is an EF Entity
Luego, en XAML, que se unen a
<TextBox Text={Binding Path=Document.Title}/>
título es, por supuesto, una propiedad en el modelo.
Ahora siguiente pregunta vino a mi mente: para separar el modelo de la vista, ¿no sería mejor si he añadido un alojamiento a la ViewModel como tan
public string Title
{
get { return Document.Title; }
set { Document.Title = value; }
}
y luego ato así:
<TextBox Text={Binding Path=Title}/>
¿Qué camino se recomienda?
que es un artículo bastante interesante (el cómo se resuelven las referencias de enlace de datos uno). –
Artículo muy interesante de hecho. El ['EntityObject'] (http://msdn.microsoft.com/en-us/library/system.data.objects.dataclasses.entityobject.aspx), desde el que se hereda el documento implementa 'INotifyPropertyChanged', por lo que se ha tenido cuidado de. Sin embargo, mi ViewModel también implementa INotifyPropertyChanged. Entonces realmente no debería importar de qué manera lo hago –
La implementación de la Propiedad como DependencyProperty no es una opción ya que mi ViewModel no hereda de DependencyObject (¿cuál es un requisito que creo?). Por el contrario, hereda de la clase ViewModelBase del framework MVVM Light. –