Ich habe WebBrowser
Kontrolle in meine UserControl
. Diese UserControl
zeigt abhängig von DataTemplateSelector
Regeln. So wird es nacheinander angezeigt und ausgeblendet. (Stellen Sie sich vor, ich habe die Liste der Kundenbestellungen und klicke auf Listenelement Ich lade UserControl in ContentPresenter
.) Aufgrund vieler Probleme mit memleaks von WebBrowser
wird empfohlen, es zu entsorgen. Also rufe ich auf diese Weise.Richtiger Weg, um wpf Kontrolle in nachladbarer Elternkontrolle zu verlieren
private void UserControl_Unloaded(object sender, RoutedEventArgs e)
{
WebBrowser.Dispose();
}
Aber ich merkte, dass, wenn in der Regel stacktrace Ctor ist, geladen, entladen, aber manchmal wpf Motor der Usercontrol Aufruf Ctor nicht neu, aber es aus dem Cache (wenn ich mich richtig undestand) und so bekomme ich angeordnet Browser UserControl
als unloaded Methode dispases es.
Wie kann ich ein Einwegsteuerelement entsorgen, das in redispayable UserControl
eingebettet ist?
Wie ich verstanden habe, ist dein Problem nicht, ein WebBrowser-Control zu entsorgen, aber wenn usercontrol wiederverwendet wird, ist das WebBrowser-Control entsorgt, habe ich recht? – Rekshino
Nicht genau. Ich muss den WebBrowser speichern, aber ja, wenn usercontrol wiederverwendet wird, wird das WebBrowser-Control entsorgt. Und ich möchte sicherstellen, dass ich WebBrowser entsorg, wenn UserControl nie wieder verwendet wird. Kann entladen sein, nicht am besten –