コード例 #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());
        }
コード例 #2
0
ファイル: PathGeometry.cs プロジェクト: zofuthan/Avalonia
        private void OnFiguresChanged(PathFigures figures)
        {
            _figuresObserver?.Dispose();
            _figuresPropertiesObserver?.Dispose();

            _figuresObserver = figures?.ForEachItem(
                _ => InvalidateGeometry(),
                _ => InvalidateGeometry(),
                () => InvalidateGeometry());
            _figuresPropertiesObserver = figures?.TrackItemPropertyChanged(_ => InvalidateGeometry());
        }
コード例 #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());
        }
コード例 #4
0
ファイル: PathGeometry.cs プロジェクト: zofuthan/Avalonia
 /// <summary>
 /// Initializes a new instance of the <see cref="PathGeometry"/> class.
 /// </summary>
 public PathGeometry()
 {
     Figures = new PathFigures();
 }