0

ビューの切り替えに焦点を当てて、新しいフレームワークを学習するためにPrism4デモアプリを作成しています。アプリにはいくつかのリージョンがあり、そのうちの1つは、現在アクティブなモジュールの1つ以上のボタンを保持するItemsControlです。

各モジュールのInitilize()メソッドでリージョンマネージャーにボタンを登録しています。最初のモジュールの登録コードは次のとおりです。

RegionManager.RegisterViewWithRegion("ButtonRegion", typeof(ModuleAButton1));
RegionManager.RegisterViewWithRegion("ButtonRegion", typeof(ModuleAButton2));

2番目のモジュールは、同じ方法でボタンを登録します。RequestNavigate()私は2つのモジュールを切り替えるために使用します。

これが私の問題ItemsControlです。アクティブなモジュールのボタンだけでなく、両方のモジュールのボタンがに表示されます。ItemsControlをaに変更しContentControl、ボタンをに配置することを検討しましたStackPanelが、ここでは退屈させないため、うまくいきません。私がする必要があるのは次のいずれかです。

  • モジュールがアクティブ化されたときにボタンをロードし、他のモジュールに切り替えたときにボタンをアンロードします。

  • モジュールがアクティブ化されているときはボタンを表示し、他のモジュールに切り替えるときはボタンを非表示にします。

Prism 4でそれを行うにはどうすればよいですか?ご協力いただきありがとうございます。

4

1 に答える 1

2

私は自分の答えを見つけました。IRegionMemberLifetimeビューまたはそのビューモデルにインターフェイスを実装します。インターフェイスは、単一の読み取り専用ブールプロパティで構成されていますKeepAlive。プロパティがに設定されている場合true、ユーザーがビューから離れた後もビューは存続します。プロパティがに設定されている場合false、ビューはアンロードされます。「MicrosoftPrismの開発者向けガイド」(Ver4)を参照してください。121。

于 2011-03-01T05:41:29.503 に答える