MYアプリケーションには3ページ(単純な選択が行われた1つのMainWindowと2ページ)があります。同じウィンドウ内のビューの切り替えページの新規インスタンスを作成せずにWPF
現在、私はhttp://azerdark.wordpress.com/2010/04/23/multi-page-application-in-wpf/のページを切り替えるために次のナビゲーション構造を使用しています。 基本的には、インターフェースを使用してページの参照を渡し、新しいインスタンスを作成します。
私は1つのウィンドウを一度に開くことしかできません。たとえば、ページAからBにナビゲートすると、Bの内容がAの内容に置き換えられます。注文は常にA→B→C→A(メインウィンドウに戻る)またはA→B→Aです。
すべてのコンテンツは、常に1つのウィンドウに表示されます。私の現在のソリューションで は、私はページの新しいインスタンスにそれがスイッチするたびにインスタンス化問題を抱えている(たとえば、Aのための - > B - > A 2X新しいページA()は、結果として持っているそのターンの結果について
これを。私は本当に好きではありません。
を静的メソッドやクラスの多くを使用することで、私の現在のアプリケーションのナビゲーション構造の全体のオーバーホールを必要としない。このため、より良い解決策はありますか?
私の現在に私は静的なObversableCollectionのリストを使用して動的に作成されるコントロールの数を覚えていますので、ページA(mainWindow)に戻るとすべてが同じままです。
ありがとうございます。
「this.Content = nextPage;」が間違っている可能性があります。現在のページがスコープから外れてガベージコレクタによってクリアされることなく実行されるため、実際には同じページのインスタンスが複数存在することはありません。あなたが使用している解決策は、私にはかなりいいようです –