public void Clean() { //cleanVertexTracer(true); //cleanVertexTracer(false); if (Source != null) { Source.PositionChanged -= source_PositionChanged; } if (Target != null) { Target.PositionChanged -= source_PositionChanged; } _oldSource = _oldTarget = null; Source = null; Target = null; Edge = null; RootArea = null; HighlightBehaviour.SetIsHighlightEnabled(this, false); DragBehaviour.SetIsDragEnabled(this, false); _linegeometry = null; _arrowgeometry = null; _linePathObject = null; _arrowPathObject = null; if (EventOptions != null) { EventOptions.Clean(); } }
/// <summary> /// Cleans all potential memory-holding code /// </summary> public void Clean() { Vertex = null; RootArea = null; HighlightBehaviour.SetIsHighlightEnabled(this, false); DragBehaviour.SetIsDragEnabled(this, false); if (EventOptions != null) { EventOptions.PositionChangeNotification = false; EventOptions.Clean(); } }