WPF、Prism、MEF。モジュール内にリージョンアダプターを登録しますか?

StackOverflow https://stackoverflow.com/questions/5408509

質問

モジュール内にリージョンアダプターを登録することはできますか?

Shell.xamlのContentControlがリージョン "MainRegion"に設定されており、現在AvalonDockコントロールを含むモジュールが設定されています。現在、シェルアプリにAvalonDockリージョンアダプターがありますが、モジュールに配置して登録したいと思います。このプログラムを柔軟に保ち、AvalonDock以外のものを使用することにした場合、シェルアセンブリを変更せずに(avalondock領域アダプターを削除して)別のモジュールを簡単に使用できるようにします。

このようなことが可能だと思います。誰かが以前にこれをしたことがありますか?

現在のブートストラッパーには次のようなものがあります: ジェネラコディセタグプレ

これは、シェルブートストラッパーの代わりにモジュールで実行したいことです。

役に立ちましたか?

解決

回答はcodeplex http://compositewpf.codeplex.com/discussions/250892 からのものです。

あなたが説明しているシナリオは 可能。カスタムリージョンですが アダプターは登録することを目的としています RegionAdapterMappingsの ブートストラップの ConfigureRegionAdapterMappingsメソッド、 カスタムを登録することが可能です モジュール内からのリージョンアダプタ。

たとえば、 RegionAdapterMappingsへの参照 Moduleクラスで コンストラクタインジェクション、および呼び出し そこにRegisterMappingメソッド。これは 名前のクラスがあるので可能 MefRegionAdapterMappings、これ RegionAdapterMappingsをとしてエクスポートします 共有エクスポート。あなたがする必要があることに注意してください 可能性のあるタイミングの問題を認識している これにより発生します。あなたは カスタムマッピングを登録するように注意してください リージョンを作成する前に そのアダプタを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top