Twoway-bind widoku DependencyProperty do właściwości viewmodel?
Wiele źródeł w sieci mówi nam, że wMVVM
, komunikacja / synchronizacja między widokami i modelami widoku powinna odbywać się poprzez właściwości zależności. Jeśli dobrze to rozumiem, właściwość zależności widoku powinna być powiązana z właściwością modelu widoku przy użyciu wiązania dwukierunkowego. Teraz zadawano podobne pytania, ale bez wystarczającej odpowiedzi.
Zanim zacznę analizować ten dość złożony problem, oto moje pytanie:
Jak zsynchronizować azwyczaj widokDependencyProperty
z właściwością modelu widoku?
W idealnym świecie po prostu związałbyś to tak:
<UserControl x:Class="MyModule.MyView" MyProperty="{Binding MyProperty}">
To nie działa od tego czasuMyProperty
nie jest członkiemUserControl
. Doh! Próbowałem różnych podejść, ale żaden nie okazał się skuteczny.
Jednym z rozwiązań jest zdefiniowanie klasy podstawowej,UserControlEx
, z niezbędnymi właściwościami zależności, aby uruchomić powyższe. Jednak to wkrótce staje się bardzo bałaganiarskie. Nie wystarczająco dobre!