0

私の WPF アプリケーションには、Frameオブジェクトと 2 つのハイパーリンクがあります。各ハイパーリンクをクリックすると、フレームが別のPageオブジェクトに移動します。

フレームは でナビゲートされFrame.Navigate(new Page1());ます。

ユーザーが 2 つのページを何度も切り替えた場合、ページはメモリに残ります。したがって、page1 を 10 回表示し、page2 も 10 回表示すると、20 ページすべてがメモリに残ります。

このような問題を回避できるように、WPF アプリケーションをナビゲートする正しい方法は何ですか?

編集

フレームがナビゲートされるたびに手動のガベージコレクションも試しました。次のコードを使用しました。

void ContentFrame_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
    GC.Collect();
    Debug.WriteLine("Garbage Collected");
}

これで問題は解決しませんでした。

4

0 に答える 0