Я могу придумать два способа реализации свойств зависимостей, которые разделяются между подробными представлениями:
- Сохраните их в модели основного вида, добавьте привязки данных к моделям подробного вида при их создании и привяжите к ним в подробном представлении.
- Ни в коем случае не сохраняйте их в моделях представления, а используйте FindAncestor для прямой привязки к свойствам основного представления.
Каковы плюсы и минусы каждого, и есть ли другие / лучшие варианты?
Edit:
Чтобы уточнить, у меня есть пользовательский элемент управления (производный от Control), который использует модель основного представления для своего DataContext. Шаблон элемента управления пользовательского элемента управления содержит ItemsControl с ItemsSource, связанным со свойством зависимости в модели основного представления. Это свойство зависимости представляет собой ObservableCollection объектов модели подробного представления. Шаблон элемента ItemsControl связывается со свойствами в модели подробного представления. Мне нужно одно свойство, которое совместно используется шаблоном элемента управления пользовательского элемента управления (главное представление) и шаблоном элемента для всех элементов в ItemsControl. Пользовательский элемент управления будет содержать ползунок или что-то для установки значения, а шаблон элемента просто прочитает его.
Извините, если я злоупотребляю терминами, я все еще пытаюсь освоить MVVM. Если проблема все еще неясна, я могу попытаться написать некоторый код для простого теста.