private void UpdatePosition() { Point positionConnectPoint; if ((!ViewModel.Node.IsCollapse) || (ViewModel.Node.IsCollapse && this.ViewModel.Name == "Output")) { positionConnectPoint = EllipseElement.TranslatePoint(new Point(EllipseElement.Width / 2, EllipseElement.Height / 2), this); ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this); positionConnectPoint = this.TransformToAncestor(NodesCanvas).Transform(positionConnectPoint); positionConnectPoint = positionConnectPoint.Division(this.ViewModel.NodesCanvas.Scale.Value); } else { positionConnectPoint = this.ViewModel.Node.Output.PositionConnectPoint; } if (this.ViewModel.Name == "Output") { this.ViewModel.NodesCanvas.LogDebug(positionConnectPoint.ToString()); } this.ViewModel.PositionConnectPoint = positionConnectPoint; }
private void OnMouseMoves(MouseEventArgs e) { ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this); ViewModel.EndPoint = e.GetPosition(NodesCanvas.Canvas); e.Handled = true; }
private void OnMouseMoves(MouseEventArgs e) { //Ищем Canvas ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this); ViewModel.EndPoint.Set(e.GetPosition(NodesCanvas.Grid)); e.Handled = true; }
void UpdatePosition() { Point positionConnectPoint = EllipseElement.TranslatePoint(new Point(EllipseElement.Width / 2, EllipseElement.Height / 2), this); ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this); if (NodesCanvas == null) { return; } positionConnectPoint = this.TransformToAncestor(NodesCanvas).Transform(positionConnectPoint); this.ViewModel.PositionConnectPoint = positionConnectPoint.Division(this.ViewModel.NodesCanvas.Scale.Value); }
void UpdatePosition() { // Координата центра Point InputCenter = Form.TranslatePoint(new Point(1, Form.Height / 2), this); //Ищем Canvas ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this); if (NodesCanvas == null) { return; } //Получаем позицию центру на канвасе Point Position = this.TransformToAncestor(NodesCanvas).Transform(InputCenter); this.ViewModel.PositionConnectPoint.Set(Position); }
/// <summary> /// Обновить координату центра круга /// </summary> void UpdatePositionConnectPoin() { Point positionConnectPoint; //Если отображается if (this.IsVisible) { // Координата центра positionConnectPoint = Form.TranslatePoint(new Point(Form.Width - 1, Form.Height / 2), this); //Ищем Canvas ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this); //Получаем позицию центру на канвасе positionConnectPoint = this.TransformToAncestor(NodesCanvas).Transform(positionConnectPoint); } else { //Позиция выхода positionConnectPoint = this.ViewModel.Node.Output.PositionConnectPoint.Value; } this.ViewModel.PositionConnectPoint.Set(positionConnectPoint); }