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; } }
private void SelectItem(ISelectable item) { if (SelectedItemHost == item) { return; } if (SelectedItemHost != null) { SelectedItemHost.IsSelected = false; SelectedItemHost.ReleaseMouseCapture(); SelectedItemHost = null; } if (item != null) { SelectedItemHost = item; SelectedItemHost.IsSelected = true; SelectedItemHost.CaptureMouse(); } _surface.RemoveSelectionCommand.RaiseCanExecuteChanged(); //SelectionService.SelectedComponent = control; }