/// <summary>
 /// 开始拖拽(可指定是否为新连接)
 /// </summary>
 /// <param name="start"></param>
 /// <param name="link"></param>
 /// <param name="thumb"></param>
 /// <param name="isNew"></param>
 protected virtual void BeginDrag(Point start, ILink link, LinkThumbKind thumb, bool isNew)
 {
     _isNewLink       = isNew;
     DragStart        = start;
     Link             = link;
     Thumb            = thumb;
     InitialState     = new LinkInfo(link);
     Adorner          = CreateAdorner();
     View.DragAdorner = Adorner;
 }
 /// <summary>
 /// 结束拖动
 /// </summary>
 /// <param name="doCommit"></param>
 public virtual void EndDrag(bool doCommit)
 {
     if (doCommit)
     {
         Controller.UpdateLink(InitialState, Link);
     }
     else
     {
         if (_isNewLink)
         {
             View.Children.Remove((Control)Link);
         }
         else
         {
             InitialState.UpdateLink(Link);
         }
     }
     Link.UpdatePath();
     Link    = null;
     Adorner = null;
 }
示例#3
0
 public virtual void EndDrag(bool doCommit)
 {
     if (doCommit)
     {
         if (!_isOnlyCtrlPtChange)
         {//only control point is adjust ,there is no need to renew the line
             Controller.UpdateLink(InitialState, Link);
         }
     }
     else
     {
         if (_isNewLink)
         {
             View.Children.Remove((Control)Link);
         }
         else
         {
             InitialState.UpdateLink(Link);
         }
     }
     Link.UpdatePath();
     Link    = null;
     Adorner = null;
 }