/// <summary> /// Delegate called on figure(s) changed. /// </summary> /// <param name="oldValue"></param> /// <param name="newValue"></param> private void OnFiguresChanged(PathFigures oldValue, PathFigures newValue) { _figuresObserver?.Dispose(); _figuresPropertiesObserver?.Dispose(); _figuresObserver = newValue?.ForEachItem(f => NotifyChanged(), f => NotifyChanged(), () => NotifyChanged()); _figuresPropertiesObserver = newValue?.TrackItemPropertyChanged(t => NotifyChanged()); }
private void OnFiguresChanged(PathFigures figures) { _figuresObserver?.Dispose(); _figuresPropertiesObserver?.Dispose(); _figuresObserver = figures?.ForEachItem( _ => InvalidateGeometry(), _ => InvalidateGeometry(), () => InvalidateGeometry()); _figuresPropertiesObserver = figures?.TrackItemPropertyChanged(_ => InvalidateGeometry()); }
private void OnFiguresChanged(PathFigures figures) { _figuresObserver?.Dispose(); _figuresPropertiesObserver?.Dispose(); _figuresObserver = figures?.ForEachItem( s => { s.SegmentsInvalidated += InvalidateGeometryFromSegments; InvalidateGeometry(); }, s => { s.SegmentsInvalidated -= InvalidateGeometryFromSegments; InvalidateGeometry(); }, InvalidateGeometry); _figuresPropertiesObserver = figures?.TrackItemPropertyChanged(_ => InvalidateGeometry()); }