1

MEF を使用して、次のような ViewExports を使用してビューを整理および作成しています。

[ViewExport(RegionName = "CustTabs")]
[ViewSortHint("20")]
[PartCreationPolicy(CreationPolicy.NonShared)]
public partial class SomeLocalView : UserControl

これらを使用してビューとビューモデルを作成するとうまくいきます。ここで、すべてのビューを特別な RegionName でエクスポートする必要がある場合があります。他のエクスポート(および地域名の代わりに契約名)については、私は使用します

container.GetExportedValues<SomeType>("CustTabs");

このリージョン/コントラクトですべてのビューを取得/作成します。ただし、これは ViewExport を使用してエクスポートされたものには機能しません。

では、コンテナから ViewExport 属性を使用してエクスポートされたクラスを取得/作成するにはどうすればよいでしょうか?

4

1 に答える 1

1

このViewExport属性は、アタッチされているすべてのビューをUserControlsコンテナーとして自動的に登録します。記憶から、それらのリストを取得できると思います

container.GetExportedValues<Lazy<UserControl,IViewRegionRegistration>>;

メタデータを調べると、登録されているリージョンがわかります。

私が考えることができる唯一の他の方法は、追加の Export 属性を追加して、ビューを目的のタイプとしてエクスポートすることです。

于 2013-10-30T09:26:39.753 に答える