Как я могу создать интерфейс мастера из кода, введенного через MEF? - PullRequest
1 голос
/ 28 августа 2011

Я бы хотел написать Wizard на основе MVVM, MEF.Мне бы хотелось, чтобы каждая страница мастера загружалась из отдельной библиотеки DLL (MEF).Я нашел эту превосходную статью о создании мастера, но, к сожалению, в этой статье не написано, как использовать MEF для добавления страниц.Я хочу сделать мастера так же, как описано в статье, но не могу понять, как экспортировать страницу мастера с помощью MEF.


Я написал простое приложение, чтобы проиллюстрировать мою проблему.Это решение содержит две сборки.

enter image description here

Как получить полностью сформированную страницу из сборки WpfApplication4.Library в WpfApplication4.

Я имею в виду PageView с установленнымPageViewModel.

Mef

1 Ответ

2 голосов
/ 28 августа 2011

В статье описывается наличие списка моделей представления, например, вы можете определить контракт для своих страниц IWizardPage, а затем импортировать такой список, используя атрибут ImportMany:

...
[ImportMany]
IWizardPage[] Pages{ get; set }

(фактический IWizardPage интерфейс может быть пустым, если хотите)

Затем вы можете добавить эти страницы, как описано в статье, в главное окно мастера

...