我已將WebBrowser
控制到我的UserControl
中。此UserControl
顯示取決於DataTemplateSelector
規則。所以它被依次顯示和隱藏。 (想象一下,我有客戶訂單的列表並點擊列表項,我將UserControl加載到ContentPresenter
中。) 根據WebBrowser
memleaks的許多問題,建議對其進行處置。 所以我以這種方式致電。在可重新加載的父控件中引入wpf控件的正確方法
private void UserControl_Unloaded(object sender, RoutedEventArgs e)
{
WebBrowser.Dispose();
}
但我注意到,如果通常堆棧跟蹤的構造函數,裝卸但有時WPF引擎無法重新創建用戶控件調用構造函數,但是從緩存中得到它(如果我正確地已瞭解),所以我得到處置瀏覽器UserControl
作爲Unloaded方法處理它。
我該如何處置一次性控制器,即嵌入可重編譯UserControl
?
正如我所瞭解你的問題是不配置WebBrowser控制,但如果usercontrol將被重用WebBrowser控制處置,我是對嗎? – Rekshino
不完全。我需要保存WebBrowser處置,但是如果usercontrol將被重用WebBrowser控制處置。而且我想確保如果UserControl永遠不會被重用,那麼我會放棄WebBrowser。可以卸載不是最好的地方 –