2

私のアプリケーションでは、一度に 1 つのビューしか表示する必要がないため、シェルで ContentControl を使用しています。問題は、1 つのビュー (View1 としましょう) を表示し、View2 をアクティブにした場合、この時点まではすべて問題ないということです。ここで、ユーザーが View2 の [閉じる] ボタンを押すと、現在アクティブなビューがないため、ユーザーは空白の画面を見ることになります。リージョン アダプタは、次のビューをアクティブにする前に、現在アクティブなビューを非アクティブにしていると思います。

以前にアクティブだったビューが再びアクティブになるようにするにはどうすればよいですか (私の例の View1)。この機能を実現するには、別のタイプのリージョンが必要ですか?

前もって感謝します、

アリ

4

1 に答える 1

1

残念ながら (ご存じのとおり)、これは動作ではありません。ビューを追跡し、以前のビューを自分でアクティブ化する必要があります。

ジェレミアはコメントし、これに対する行動について考えさせられました。ActiveAware の動作は、アクティブ/非アクティブなイベントを追跡し、場合によってはそれらに作用する動作の良いモデルだと思います。

ActiveAware 動作のソース コードを次に示します。このモデルは、あなたが望む動作の出発点として使用できると確信しています。 http://compositewpf.codeplex.com/SourceControl/changeset/view/26112#496678

于 2009-10-07T15:36:26.787 に答える