Создание нескольких экземпляров модели представления в Prism / Silverlight - PullRequest
0 голосов
/ 10 декабря 2010

У меня есть вид призмы / серебряного света, и он отображается на табите в элементе управления вкладки моей оболочки.Это выглядит следующим образом.

<sdk:TabControl>
    <sdk:TabItem Header="User Portfolio" Regions:RegionManager.RegionName="MainRegion" />
    <sdk:TabItem Header="Benchmark Portfolio" Regions:RegionManager.RegionName="BenchRegion" />
</sdk:TabControl>

Представление состоит из сетки данных, текстового поля и кнопки, так что сетка данных сопоставляется с наблюдаемой коллекцией в модели представления, и при нажатии кнопки текст в текстовом поле добавляетсяк сетке данных (и соответствующей коллекции).

Теперь я хочу объявить несколько экземпляров этой пары view-viewmodel.То есть в табите "MainRegion" я хочу один экземпляр.В табите "BenchRegion" я хочу еще один экземпляр

Как мне это сделать?

1 Ответ

0 голосов
/ 10 декабря 2010

Вам необходимо получить контейнер, и для каждого экземпляра модели представления вам нужно использовать IUnityContainer.ResolveType<>() для инициализации экземпляра (сначала убедитесь, что вы зарегистрировали свои типы IUnityContainer.RegisterType<>()). Вы можете думать о ResolveType<>() как о форме конструктора Prism. Затем для каждого представления вам нужно установить datacontext для вашей инициализированной модели представления для этого представления.

Редактировать Я должен отметить, что это для Prism 2.0. Я знаю, что в Prism 4.0 есть альтернативы единству.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...