private void EndDrag(bool abort) { if (abort) { return; } if (!Outline.FloatWindowBounds.IsEmpty) { DragSource.FloatAt(Outline.FloatWindowBounds); } else if (Outline.DockTo is DockPane) { DockPane pane = Outline.DockTo as DockPane; DragSource.DockTo(pane, Outline.Dock, Outline.ContentIndex); } else if (Outline.DockTo is DockPanel) { DockPanel panel = Outline.DockTo as DockPanel; panel.UpdateDockWindowZOrder(Outline.Dock, Outline.FlagFullEdge); DragSource.DockTo(panel, Outline.Dock); } }