示例#1
0
 void DockingTabControl_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     //判断是否拖入其中
     if (moveNewWindow)
     {
         var c = e.GetPosition(this);
         if ((c.X >= _tabPanelEmt.TabPanelStartPoint.X && c.X <= _tabPanelEmt.TabPanelStartPoint.X + _tabPanelEmt.TabPanelSize.Width) &&
             (c.Y >= _tabPanelEmt.TabPanelStartPoint.Y && c.Y <= _tabPanelEmt.TabPanelStartPoint.Y + _tabPanelEmt.TabPanelSize.Height))
         {
             if (this.Items.Contains(_curMoveWindow.DragTargetHeader))
             {
                 var newTabItem = _curMoveWindow.DragTargetHeader as TabItem;
                 if (newTabItem != null)
                 {
                     newTabItem.Opacity = 1;
                 }
                 _curMoveWindow.DragWindow.Close();
             }
             else
             {
                 if (this.Items.Contains(_curMoveWindow.DragTargetHeader))
                 {
                     this.Items.Remove(_curMoveWindow.DragTargetHeader);
                 }
             }
         }
         else
         {
             _curMoveWindow.DragWindow.Topmost = false;
         }
         moveNewWindow = false;
         _tbPanel.ReleaseMouseCapture();
         _curMoveWindow = null;
     }
     else
     {
         _isBtnDown = false;
         var a = e.Source as TabItem;
         if (a != null)
         {
             a.ReleaseMouseCapture();
         }
         if (_curMoveWindow != null)
         {
             this.Items.Remove(_curMoveWindow.DragTargetHeader);
             _curMoveWindow.DragWindow.Topmost = false;
             _curMoveWindow = null;
         }
     }
 }