Exemple #1
0
 /// <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.AllFeature["Drag"] as AddAdornerFeature).SetPublicAdorner("Drag", Adorner);
 }
Exemple #2
0
 /// <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;
 }