3

ユーザーが次のようにナビゲートできる Silverlight と Prism を使用してアプリケーションを作成したいと考えています。

ここに画像の説明を入力

赤い四角形は、内部に異なる Prism モジュール (この例では 6 つの異なるモジュール) を含む領域を示しています。

次の問題にアプローチする最善の方法は何ですか。

  • 私の知る限り、シェルの領域は変更されませんが、同じ領域を使用して必要なさまざまなレイアウトを作成することはできません (たとえば、モジュールが水平方向に積み重ねられ、垂直方向に積み重ねられると)。ここで複数のシェルを持つことは良い選択肢でしょうか?

  • リージョン内のビューを切り替えるために使用できるリージョン ナビゲーション パイプラインを認識しています。これを使用して、異なるシェルを切り替えることもできますか?

  • シェル間を移動するのは間違っているように感じますが、他にどうすればこれを解決できますか?

これは一般的なシナリオのようですが、情報が見つかりません。複雑なアプリも含め、ほとんどのアプリ (つまり、 http://blogs.msdn.com/b/erwinvandervalk/archive/2009/03/02/how-to-build-an-outlook-style-application.aspxhttp:// www.codeproject.com/Articles/165370/Creating-View-Switching-Applications-with-Prism-4、StockTrader RI ) は、レイアウトが変更されないシェルを 1 つだけ使用しますが、レイアウトを変更する必要がある場合はどうすればよいでしょうか?

4

1 に答える 1

6

免責事項: 私は WPF Prism プログラマーであるため、私の回答は Silverlight では機能しない可能性があります。

マルチシェル ルートは使用しません。むしろ、リージョン内にリージョンを配置します。

注: ただし、これを設計する前に、水平または垂直の両方にコンテンツを作成できるかどうかを確認する必要があります (つまり、Orientation にバインドし、WrapPanels を使用します)。可能であれば、実際のコンテンツ領域を再利用できます。

これは、アプリによって可視性が制御される複数の領域を収容する 1 つのシェルを持つことで設計できます。

例: ログインが成功すると、ログイン領域が非表示になり、StyleSelector 領域が表示されます (A および B ボタン付き)。

これらのいずれかが押されると、StyleSelector 領域が非表示になり、VerticalContentPresenter 領域または Horizo​​ntalContentPresenter 領域のいずれかが表示されます。

各 xxxxxxxContentPresenter 領域には、その中に 2 つの領域があります。

上で述べたように、コントロールの状態によっては、xxxxxxContentPresenter リージョン内の同じリージョンを再利用できます (同じリージョンにすることもできます)。

于 2012-10-29T17:57:09.823 に答える