我已将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。可以卸载不是最好的地方 –