c# - ¿Debería ViewModel heredar DependencyObject en WPF?
mvvm user-controls (1)
Si ha creado un control personalizado con propiedades que desea que sean vinculables (por ejemplo, el siguiente código), no puede usar INotifyPropertyChanged
y debe usar DependencyObject
.
<MyUserControl MyDependencyProperty="{Binding PropertyPath}" />
Pero al usar DependencyObjects
debes tener en cuenta que:
-
DependencyObjects
no están marcados como serializables. - La clase
DependencyObject
anula y sella los métodosEquals()
yGetHashCode()
. Un
DependencyObject
tiene afinidad por el hilo: solo se puede acceder a él en el hilo en el que se creó.
Intenté crear un UserControl simple en WPF usando MVVM. Ahora necesito crear una propiedad de dependencia para UserControl, así que traté de crear la propiedad de dependencia en UserControlViewModel (no quiero estar en codebehind).
Para crear una propiedad de dependencia en UserControlViewModel, necesito heredar de DependencyObject. ¿Es una buena práctica heredar DependencyObject en UserControlViewModel? Es decir, ¿es una buena forma de seguir a MVVM para diseñar un UserControl?