Exemplo n.º 1
0
        /// <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());
        }
Exemplo n.º 2
0
        private void OnFiguresChanged(PathFigures figures)
        {
            _figuresObserver?.Dispose();
            _figuresPropertiesObserver?.Dispose();

            _figuresObserver = figures?.ForEachItem(
                _ => InvalidateGeometry(),
                _ => InvalidateGeometry(),
                () => InvalidateGeometry());
            _figuresPropertiesObserver = figures?.TrackItemPropertyChanged(_ => InvalidateGeometry());
        }
Exemplo n.º 3
0
        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());
        }