Как переключить представление в MVVM, использующий MEF

Я имею одноэлементные объекты Модели и ViewModel и хотел бы программно создать и присоединить представления WPF к ним по одному. Представления могут быть созданы динамично, сказать путем выбора пункта меню (где-нибудь). Недавно созданное представление избавилось бы от любого старого представления, смотрящего на ViewModel. Затем это сделало бы себя текущим представлением что ViewModel, отобразив его в некотором окне WPF, служащем контейнером для представления UserControl. Я использую MEF для МОК. Важно, чтобы Модель и объекты ViewModel были созданы только однажды. Каков был бы способ выполнить это использование MEF?

1
задан Tony 25 June 2010 в 05:41
поделиться

2 ответа

Вы можете ознакомиться с примерами приложений ViewModel и Writer WPF Application Framework (WAF) . Они показывают, как переключать представление с помощью MVVM и MEF.

2
ответ дан 2 September 2019 в 23:31
поделиться

Я использую в своих тестовых приложениях подход «сначала модель просмотра». поэтому я создаю модель просмотра через mef, а затем wpf + datatemplates сделают все остальное. все, что мне нужно сделать, это привязать мою фактическую модель просмотра к contentcontrol.content. вы говорите, что важно, чтобы объекты ViewModel были созданы только один раз. вы добиваетесь этого с помощью mef и createPolicy.Shared или Lazy <> import. Имея это в виду, я думаю, что ViewModel-First - это то, что вам нужно. это просто, и вам не нужен дополнительный локатор или что-то еще :)

0
ответ дан 2 September 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: