Exemple #1
0
        /// <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;
        }
Exemple #2
0
        /// <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.");
        }