1

Prism (複合アプリケーション フレームワーク) を使用してアプリケーションを構築しています。シェルを作成しましたが、3 つの領域 (メイン、メニュー、スイッチボード) があります。スイッチボード ユーザー コントロールを使用してシェルにスイッチボード領域をロードしたいのですが、この場合、モジュールを介してロードしたくありません。

では、ビュー (スイッチボード ユーザー コントロール) をブート ストラップ内のシェルのスイッチボード領域に登録するにはどうすればよいでしょうか。おそらく、配電盤ユーザー コントロール専用のモジュールを作成することしかできないかもしれませんが、それは時間の無駄のように思えます。私はこれを試みてきましたが、最終的に派生した UnityBootStrapper クラスを介して RegionManager にアクセスできないようです。

ありがとうございました。

4

1 に答える 1

1

シナリオ全体を知らなくても、Switchboard UserControl を領域に追加する必要はないかもしれません。これは、シナリオでシェル プロジェクトに追加する必要がある場合、リージョンによって提供される拡張性と UI 構成機能が必要ない可能性があるためです。

コントロールを使用する SwitchBoard が ContentControl にあると仮定すると、領域を定義する必要なく、シェル デザイナー内から簡単に配置できます。一方、SwitchBoard ユーザー コントロールが Selector または ItemsControl 内に配置されている場合は、領域を定義して、その子の 1 つとして追加できます。これらの領域に新しいビューを追加することは引き続き可能であり、SwitchBoard コントロールは常にシェル内にあります。

とはいえ、RegionManager がコンテナーに登録されていると仮定すると、ブートストラップで RM にアクセスするために次のようなことができます: (疑似コード):

public class MyBootstrapper : UnityBootstrapper
{
    MyMethod()
    {
        IRegionManager manager = this.Container.Resolve<IRegionManager>();
    }
}

これが役立つことを願っています。

ありがとう、ダミアン

于 2010-09-20T21:23:45.447 に答える