private EdgeBehaviorOptions _behaviorOptions = new EdgeBehaviorOptions(); /// transient // ======================================== // constructor // ======================================== public AbstractEdge() : base() { _edgePoints = new NotifyChangeList <Point>(new List <Point>(2)); _edgePoints.Add(Point.Empty); _edgePoints.Add(Point.Empty); _edgePoints.EventSender = this; _edgePoints.EventPropertyName = IEdgeProperty.EdgePoints; _edgePoints.DetailedPropertyChanged += HandleEdgePointsChanged; _ResourceCache.RegisterResourceCreator( PenResourceKey, () => { var ret = new Pen(_lineColor, _lineWidth); ret.DashStyle = _lineDashStyle; return(ret); }, ResourceDisposingPolicy.Immediate ); }