Предположим, у меня есть приложение со следующей структурой:
(1) ViewModelA
(2) ReportManager
(3) ViewA
Итак, во-первых, позвольте мне избавиться от очевидного. ViewA привязывается к ViewModelA.
Теперь о не столь очевидном. ViewModelA имеет единственный экземпляр ReportManager, внедренный в его конструктор. ViewModelA предоставляет общедоступное свойство только для чтения, которое называется SomeReport. Получатель этого свойства указывает на свойство из единственного экземпляра ReportManager. Рассмотрим следующий пример ниже:
public ISomeViewModel SomeReport
{
get { return _reportManager.SomeReport; }
}
В ViewA у меня есть ContentPresenter, свойство содержимого которого привязывается к свойству SomeReport в ViewModelA, и поскольку свойство SomeReport в ViewModelA доступно только для чтения, я установил привязку как OneWay.
Любые и все изменения, внесенные в свойство SomeReport, вносятся в класс ReportManager - таким образом, это свойство имеет частный установщик. Проблема, с которой я сталкиваюсь, заключается в том, что ContentPresenter в ViewA не регистрирует изменения, внесенные в свойство SomeReport.
Буду признателен за любую помощь в том, что я потенциально делаю неправильно.
Спасибо.