Laden...

Kein Zugriff auf Objekt

Erstellt von ofbe vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.315 Views
O
ofbe Themenstarter:in
39 Beiträge seit 2010
vor 13 Jahren
Kein Zugriff auf Objekt

Hallo Leute,

ich habe folgendes Problem:

hab ein TabControl mit vielen Tabs. In diesen befinden sich UserControls.

Wenn ich nun in ein anderes TabItem wechsle, möchte ich die UserControls im vorherigen Tab freigeben, dazu setze ich das Objekt = null, damit es vom GC weggeschmissen wird aus dem Speicher.

Wenn ich nun in das vorherige TabItem mit den freigegebenen Ressourcen wechsle, instanziere ich diese ala this.xxx = new UC() neu.

Allerdings kann ich zb Properties des Objekts xxx nicht ändern.

Ich vermute, dass die Properties von xxx schon geändert werden, aber das xxx in meinem window1 davon nichts erfährt..Wie kann ich denn xxx auf das vorhandene UC in meinem window1 mappen?

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo,

was genau ist denn der Grund weshalb du die UserControls freigeben willst?
Ich habe jetzt nicht genau verstanden was bei dir das Problem ist, aber vermutlich musst das Control wieder neu in der GUI hinzufügen.

Aber das ist kein guter / normaler style.... Was genau willst du denn erreichen?

Gruß
Michael

O
ofbe Themenstarter:in
39 Beiträge seit 2010
vor 13 Jahren

mein problem ist, dass die nicht gebrauchten UCs in den nicht aktiven TabItems im Speicher rumliegen und den Ram-Verbrauch erhöhen. Der GC kann die auch nicht entfernen, da diese ja eine Referenz haben zum window1.

Wie kann ich denn sonst den Arbeitsspeicher schonen?

O
ofbe Themenstarter:in
39 Beiträge seit 2010
vor 13 Jahren

inzwischen habe ich das problem gelöst

man muss das control aus dem panel löschen this.pnl.children.remove(uc) und nachher nochmal hinzufügen mit add