1

私が構築しているアプリケーションには、いくつか (10 以上) の[Module]実行可能ファイルがあります。

このようなものをファイルに指定したいと思い[Module]View.xamlます。

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

ここmef:ExportViewMarkupExtension、MEF コンポーザーのパーツを準備する です。

現在、...

  • ファイル内で、View を.xml内の属性[Module]View.xaml.csでマークします。ExportView(typeof([Module]ViewModel))(typeof パラメータは、予期される ViewModel を指定します。)
  • また、ViewModel に[ExportViewModel]属性を付けます。
  • (どちらの属性も ExportAttribute から派生します。)
  • 各実行可能ファイルの Application クラスもApplicationBase、MEF 構成を行い、View/ViewModel を結合/リンクするクラスから継承します。

ここで、すべての分離コードを から削除して[Module]View.xaml.cs、自分自身と同僚が分離コード ファイルのマークアップを忘れないようにしたいと考えています。

これにはカスタム MarkupExtension が必要になると思います。MEF の基本と、メタデータを使用したカスタム エクスポート属性の作成に精通しています。ただし、この解決策には、いくつかのMEF プリミティブから派生する必要があると思います。

4

0 に答える 0