Приложение, которое я создаю, имеет несколько (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 примитивов .