protected override void OnMouseDown(MouseButtonEventArgs e) { Point position = e.GetPosition(this); if (_input.Contains(position)) { _pressedFigure = _input; InputMouseDownEvent.Invoke(this, e); } else if (_output.Contains(position)) { _pressedFigure = _output; OutputMouseDownEvent.Invoke(this, e); } else if (_header.Contains(position)) { _pressedFigure = _header; HeaderMouseDownEvent.Invoke(this, e); } else if (_body.Contains(position)) { _pressedFigure = _body; BodyMouseDownEvent.Invoke(this, e); } }
private void OnButtonEvent(object sender, MouseButtonEventArgs e) { MouseButtonEventHandler handler = (MouseButtonEventHandler)eventDestination.Target; if (handler != null) { handler.Invoke(sender, e); } else { Deregister(); } }
protected override void OnMouseUp(MouseButtonEventArgs e) { if (_header == _pressedFigure) { HeaderMouseUpEvent.Invoke(this, e); } else if (_input == _pressedFigure) { InputMouseUpEvent.Invoke(this, e); } else if (_output == _pressedFigure) { OutputMouseUpEvent.Invoke(this, e); } else if (_body == _pressedFigure) { BodyMouseUpEvent.Invoke(this, e); } canMove = false; _pressedFigure = null; }