protected override void OnMouseUp(MouseButtonEventArgs e)
    {
      if (HitConnector != null)
      {
        var sourceConnector = this.sourceConnector;
        var sinkConnector = HitConnector;

        var model = new ConnectionModel(sourceConnector.ConnectorViewModel.ConnectorModel, sinkConnector.ConnectorViewModel.ConnectorModel);
        var connectionViewModel = new ConnectionViewModel(sourceConnector.ConnectorViewModel, sinkConnector.ConnectorViewModel, model);
        var newConnection = new Connection(sourceConnector, sinkConnector, connectionViewModel);

        Panel.SetZIndex(newConnection, designerCanvas.Children.Count);
        designerCanvas.Children.Add(newConnection);

        var vm = designerCanvas.DataContext as EditorWindowViewModel;
        if (vm == null)
          throw new ArgumentNullException("designerCanvas.DataContext as EditorWindowViewModel");

        vm.Add(connectionViewModel);
      }
      if (HitDesignerItem != null)
      {
        HitDesignerItem.IsDragConnectionOver = false;
      }

      if (IsMouseCaptured) ReleaseMouseCapture();

      var adornerLayer = AdornerLayer.GetAdornerLayer(designerCanvas);
      if (adornerLayer != null)
      {
        adornerLayer.Remove(this);
      }
    }
Exemple #2
0
 public Connection(Connector source, Connector sink, ConnectionViewModel connectionViewModel)
 {
   ID = Guid.NewGuid();
   Source = source;
   Sink = sink;
   ConnectionViewModel = connectionViewModel;
   //Unloaded += Connection_Unloaded;
 }
 public void Remove(ConnectionViewModel connectionViewModel)
 {
   Connections.Remove(connectionViewModel);
 }
 public void Add(ConnectionViewModel connectionViewModel)
 {
   Connections.Add(connectionViewModel);
 }
 public void Remove(ConnectionViewModel connectionViewModel)
 {
   ConstructorViewModel.Remove(connectionViewModel);
 }
 public void Add(ConnectionViewModel connectionViewModel)
 {
   ConstructorViewModel.Add(connectionViewModel);
 }