Несколько источников в сети сообщают нам, что в MVVM
связь/синхронизация между представлениями и режимами просмотра должна происходить через свойства зависимостей. Если я правильно понимаю это, свойство зависимостей представления должно быть привязано к свойству viewmodel с использованием двусторонней привязки. Теперь аналогичные вопросы задавали раньше, но без достаточного ответа.
Прежде чем приступить к анализу этой довольно сложной проблемы, вот мой вопрос:
Как синхронизировать пользовательский вид DependencyProperty
с свойством viewmodel?
В идеальном мире вы просто привязываете его как это:
<UserControl x:Class="MyModule.MyView" MyProperty="{Binding MyProperty}">
Это не работает, поскольку MyProperty
не является членом UserControl
. Doh! Я пробовал разные подходы, но никто не добился успеха.
Одним из решений является определение базового класса UserControlEx
с необходимыми свойствами зависимостей, чтобы заставить выше работать. Однако это скоро становится крайне беспорядочным. Не достаточно!