2009-07-23 6 views
0

Ich möchte Geometrie aus Canvas in Silverlight entfernen ... Ich bin in der Lage, es zu entfernen, aber Entfernung wird nicht sofort wiedergegeben. Ich meine, wenn ich GeometryGroup.Children.Remove (Geometrie) führe, wird es aus dem Baum entfernt, aber nicht aus Canvas ... Überraschend entfernte Geometrie ist immer noch im Canvas sichtbar, bis ich eine Mausaktion ausführe.Entfernen von Geometrie aus Canvas

Kann mir bitte jemand sagen, was ist die korrekte Art der Geometrie zu entfernen?

Vielen Dank.

Antwort

0

Versuchen Sie einen Aufruf von InvalidateArrange() oder InvalidateMeasure() auf dem Canvas, um ein Repaint zu verursachen.

+0

Ich habe versucht, sowohl die Methoden aufrufen und es funktioniert immer noch nicht ... –

0

ich, was habe ich die Antwort, es funktioniert, aber der Ansatz scheint ungewöhnliche oder indirekt zu sein ... Hier ist, was ich tue ...

//Following line causing geometry to disappear from the Canvas 
geometry.Transform = new ScaleTransform{ ScaleX = 0, ScaleY = 0}; 
geometryGroup.Children.Remove(geometry);