WorkflowDesigner.DesignSurfaceController.OnSurfaceMouseLeftButtonUp C# (CSharp) Method

OnSurfaceMouseLeftButtonUp() private method

private OnSurfaceMouseLeftButtonUp ( object sender, System.Windows.Input.MouseButtonEventArgs e ) : void
sender object
e System.Windows.Input.MouseButtonEventArgs
return void
    private void OnSurfaceMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
      if (_sourceConnector != null)
      {
        var targetConnector = VisualTreeHelper.FindElementsInHostCoordinates(e.GetPosition(null), _surface).OfType<ObjectConnector>().FirstOrDefault();
        if (targetConnector != null
          && targetConnector != _sourceConnector
          && targetConnector.DesignerControl != _sourceConnector.DesignerControl
          && CanFinishConnection(targetConnector))
        {
          var sourceId = _sourceConnector.DesignerControl.Id;
          var targetId = targetConnector.DesignerControl.Id;

          var workflowLink = new FunctionReference
          {
            SourceId = sourceId,
            SourcePin = _sourceConnector.PinName,
            TargetId = targetId,
            TargetPin = targetConnector.PinName
          };

          Workflow.AddItem(workflowLink);
        }
      }

      RemoveConnectionLine();

      if (SelectedItemHost != null)
      {
        SelectedItemHost.ReleaseMouseCapture();
        _dragStarted = false;
      }
    }