/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void NodeEditControl_ConnectionDragStarted(object sender, ConnectionDragStartedEventArgs e) { if (!(e.ConnectorDraggedOut is NodeConnectorViewModel)) { return; } var link = NodeEditViewModel.ConnectionDragStarted(e.ConnectorDraggedOut as NodeConnectorViewModel); e.Connection = link; }
/// <summary> /// ドラッグ開始 /// </summary> private void ConnectorItem_DragStarted(object sender, ConnectorDragStartedEventArgs e) { // フォーカス取得 Focus(); var ctrl = e.OriginalSource as ConnectorControl; if (ctrl == null) { return; } var position = Mouse.GetPosition(ctrl.ParentEditControl); // ノードとコネクタのコンテキストを入れてイベント起動 var eventArgs = new ConnectionDragStartedEventArgs(ConnectionDragStartedEvent, this, ctrl.ParentNodeControl.DataContext, ctrl.DataContext, position); RaiseEvent(eventArgs); // ドラッグ中のリンクオブジェクトを保持 draggingLinkModel_ = eventArgs.Connection; //Console.WriteLine("Drag started."); }