私は専門家ではありません。プリズムに組み込まれているとは思いませんが、これは間違いなく可能です:)
あなたのためのいくつかのヒント...親切にしてください、私はコード行を書くためにIDEを使用しませんでした:)
まず、使用可能なビューのリストを表示するビュー (およびビュー モデル) を作成できます。これらの「利用可能なビュー」は、ビュー情報を定義するクラスによって表すことができます。
何かのようなもの :
public interface IAvailableView
{
string ViewName { get; }
string ModuleName { get; }
}
次に、使用可能なすべてのビューを表示できるようにするには、「使用可能な場合」にモジュールをカタログにロードする必要があります。その後、アプリケーションの初期化時にトリガーされます。
モジュールでは、特定の名前でビューを登録する必要があり、それによって公開されるすべての使用可能なビューを依存関係コンテナーに登録できます。
public virtual void Initialize()
{
RegisterView<IView, AnyView>("AnyView");
Register<IAvailableView>(new AvailableView("AnyView", "MyModuleName"));
}
すべてのモジュールが読み込まれると、View Model コントロールはこれらすべての IAvailableViews を解決できるはずです。
あとは、使用可能なビューをコントロールにバインドし、ユーザーがアイテムをクリックしたら対応するビューを RegionManager に登録するだけです...
var view = GetInstance<IView>(selectedAvailableView.ViewName);
RegionManager.RegisterViewWithRegion("whateverRegion", () => view);
それが役に立てば幸い :)