Example #1
0
        protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            base.OnMouseLeftButtonDown(e);

            _startPointClick = e.GetPosition(this);
            var element = GetElement(_startPointClick);

            if (element == null)
            {
                if (e.ClickCount == 2)
                {
                    _graphViewModel.AddVertex(_startPointClick);
                    return;
                }

                if (!Keyboard.IsKeyDown(Key.RightCtrl) && !Keyboard.IsKeyDown(Key.LeftCtrl))
                {
                    _graphViewModel.UnselectElements();
                }
            }
            // Select element
            else
            {
                if (!_graphViewModel.SelectedElements.Contains(element.Id))
                {
                    AddSelectedElement(element, false);
                }
                _targetUiElement = element;
            }

            CaptureMouse();
            base.OnMouseLeftButtonDown(e);
        }