1

これまでのところ、ビューが2つしかないアプリケーションがあります。ビュー1はリストで、2番目は詳細ビューです(ビュー1でアイテムを選択した後)。

Prismシェルにリージョンを設定し、モジュールをロードできます。私が欲しいのは、モジュール1だけを最初にロードすることです。1からアイテムを選択したら、2に移動します(これは、itemsコントロール(ちなみに、タブコントロールです)に表示されます)。

私が抱えている問題は、a)両方のビューが最初にタブコントロールに表示されることです。

b)ビューbのモジュールのエクスポート属性をオンデマンドで初期化するように変更した場合、クリックしてビューbに移動しても、何も起こりません。

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

0

すべてのビューを検出できるようにすることでこれを回避しましたが、ビューの初期化時に、すべてのビューを無効にして、興味のあるビューを受け入れます。もちろん、より良い方法を探しています:)

foreach (var view in RegionManager.Regions["RegionFoo"].Views)
{
  if (view.GetType() == initialViewType)
  {
     RegionManager.Regions["RegionFoo"].Activate(view);
  }
  else
  {
     RegionManager.Regions["RegionFoo"].Deactivate(view);
  }
}

ビューがその地域で発見のために登録された後、私はこれを行います。initialViewType は、検索するビューのタイプです。これは、ビューのシングルトンのみを想定しています。

于 2011-03-28T07:50:09.123 に答える