アプリケーション内の新しいプロジェクトで MEF を使用しようとしています。物事はメインアプリレベルで機能しますが、アセンブリがメインアプリに含まれているこの別のプロジェクト(UserControl)では、何か疑問に思っています... UserControl があり、その中に次のものがあります:
<UserControl.Resources>
<DataTemplate DataType="{x:Type vm:MyViewModel}" >
<local:MyView />
</DataTemplate>
</UserControl.Resources>
<vm:MyViewModel />
私のMyViewModelでは、いくつかのものをエクスポートしましたが、アセンブリはうまく構成されているようです(これを確認するためにCompositionInfoTextFormatterを使用しています)。しかし、私の VM は MEF によってインスタンス化されていないか、少なくともコンストラクターが呼び出されません。そして、それが呼び出されると、MEF ではなく、WPF フレームワークからのものであるように見えます。
A) xaml で、VM をそのビューと MEF に関連付ける (上記と異なる場合)、および B) VM をインスタンス化して MEF が VM を制御し、エクスポートとインポートが機能するようにする正しい方法は何ですか?
現在、彼らはそうではありません。そのため、私はこれをすべて理解しようとしています:)