В настоящее время у меня есть довольно прямолинейное приложение, моя первая попытка MVVM с использованием классов Джоша Смита, и я пытался перенести его в Prism v4 с помощью Unity.Однако я, похоже, запутался в том, как на самом деле передавать данные моей модели в соответствующие модели представлений, когда они разделены в разных модулях.
Само приложение имеет коллекцию объектов Document, каждый из которых содержит ссылку на сторонний экземпляр API видео и набор метаданных для описания и аннотирования видео.
Я написал видеообработка элементов в отдельный модуль, который ожидает свои данные от IVideoService.Аналогичным образом документы будут предоставляться в другом модуле службой IDocumentservice, которая будет возвращать коллекцию документов, выбранный документ и т. Д.
Я ссылаюсь на экземпляр IDocumentService в Unity, поэтому он может быть разрешен любыммодуль.Однако я не вижу, как извлечь соответствующий IVideoService для отображения при изменении просматриваемого документа.Я не хочу включать какие-либо зависимости модуля документа в модуль видео, если это возможно, поэтому я предполагаю, что я просто регистрирую экземпляр IVideoService и публикую некоторое событие обновления ... так что обновления просмотров видеомодуля.
Однако этоРешение не сработало бы, если бы у меня была возможность отображать два или более документов одновременно.
В моем предыдущем приложении без призмы мои view-модели имели иерархию, которая отражала иерархию модели, и все было сделано с использованием привязки и шаблонов данных.
Похоже, это не способ сделать это в призме, когда каждый модуль инициализирует себя и объявляет, где он должен появиться.Глядя на различные демонстрационные приложения и код, это не прояснилось, поэтому я подозреваю, что есть нечто фундаментальное, что я неправильно понимаю.
Любое просветление приветствуется!
С уважением