Экспорт MVVM-представления с использованием MEF - PullRequest
1 голос
/ 03 декабря 2011

Приложение, которое я создаю, имеет несколько (10+) [Module] исполняемых файлов.

Я хотел бы указать что-то подобное в [Module]View.xaml файле.

<Window ... 
    mef:ExportView ExpectingViewModel={x:Type [Module]ViewModel}
>
</Window>

где mef:ExportView - это MarkupExtension, который подготавливает детали для MEF-композитора.

В настоящее время ...

  • В [Module]View.xaml.cs файле Iпометить мой вид атрибутом ExportView(typeof([Module]ViewModel)) внутри.(Параметр typeof указывает ожидаемую ViewModel.)
  • Я также отмечаю свою ViewModel атрибутом [ExportViewModel].
  • (Оба атрибута являются производными от ExportAttribute.)
  • Класс Application каждого исполняемого файла также наследуется от класса ApplicationBase, который создает композицию MEF и объединяет / связывает View / ViewModel.

Теперь я хотел бы иметь возможность удалить весь выделенный код из [Module]View.xaml.cs, чтобы не позволить себе и моим коллегам забыть разметить файл выделенного кода.

Я думаю, что это потребует пользовательского MarkupExtension.Я знаком с основами MEF, а также с созданием пользовательских атрибутов экспорта с метаданными.Тем не менее, я думаю, что это решение потребовало бы получить некоторые из MEF примитивов .

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