2011-02-27 54 views
3

首先,我並不完全瞭解如何在窗口的多個「頁面」之間導航。更改窗口內容時的資源管理

例如,我有一個名爲MainWindow的窗口。在這裏面,我有一個頁眉和一個頁腳。中間是包含內容的面板。 此面板原本包含內容A.在A中點擊某個內容時,我想從視圖中刪除A並顯示一個帶有內容B的新面板。但是,我希望B顯示在同一個窗口中(即,不隱藏窗口並打開一個新的)。是隱藏/顯示這些面板的正確方法去解決它?

如果使用面板切換機制是正確的方法,那麼我很擔心資源管理。如果我將面板A設置爲不可見,並且面板B可見,那麼我是否仍然會從兩個面板加載資源?如果我有大量面板可以切換,我不想爲所有面板加載內容,而是加載內容。 我該如何去確保我能正確處理這些不同視圖之間的資源和內存?

如果我對如何在單個窗口內切換視圖有完全錯誤的想法,請讓我知道。 謝謝。

回答

1

一種替代方法是隻使用一個ContentPresenter,並將您的個人「面板」放在那裏,但一次只放一個。

您可以使用數據綁定來更改ContentPresenter中的綁定內容,而不是翻轉可見性。這樣只會留下一個單一的「視圖」,從而阻止了需要加載「大量」面板的需要。

2

您應該放置一個contentControl並將其內容切換到不同的UserControls,而不是切換可見性。

這樣就不會引用屏幕外的用戶控件,並且可以更好地處理內存問題。

相關問題