Example #1
0
        private void LinkToSource(CursorCoordinateGraph source, Orientation orientation)
        {
            switch (orientation)
            {
            case Orientation.Horizontal:
                if (_linkedHorizontalSource != null)
                {
                    _linkedHorizontalSource.VisibilityChanged -= UpdateVisibility;
                    _linkedHorizontalSource.PositionChanged   -= UpdateUIRepresentation;
                }
                _linkedHorizontalSource = source;
                if (_linkedHorizontalSource != null)
                {
                    _linkedHorizontalSource.VisibilityChanged += UpdateVisibility;
                    _linkedHorizontalSource.PositionChanged   += UpdateUIRepresentation;
                }
                break;

            case Orientation.Vertical:
                if (_linkedVerticalSource != null)
                {
                    _linkedVerticalSource.VisibilityChanged -= UpdateVisibility;
                    _linkedVerticalSource.PositionChanged   -= UpdateUIRepresentation;
                }
                _linkedVerticalSource = source;
                if (_linkedVerticalSource != null)
                {
                    _linkedVerticalSource.VisibilityChanged += UpdateVisibility;
                    _linkedVerticalSource.PositionChanged   += UpdateUIRepresentation;
                }
                break;
            }
        }
Example #2
0
        private static void OnPositionChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CursorCoordinateGraph graph = (CursorCoordinateGraph)d;

            graph.UpdateUIRepresentation();
            graph.PositionChanged?.Invoke(graph, EventArgs.Empty);
        }
Example #3
0
        private static void UpdateUIRepresentation(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CursorCoordinateGraph graph = (CursorCoordinateGraph)d;

            if ((bool)e.NewValue)
            {
                graph.UpdateUIRepresentation();
            }
            else
            {
                graph.vertLine.ClearValue(Line.StrokeDashOffsetProperty);
                graph.horizLine.ClearValue(Line.StrokeDashOffsetProperty);
            }
        }