/// <summary>
        /// Show overlay pane docking options
        /// </summary>
        /// <param name="btnDock">Clicked button</param>
        public bool OnDrop(Button btnDock)
        {
            // hack
            DockablePane pane = _owner.DragPaneServices.FloatingWindow.PaneHosted;

            pane.UseSpecAllocation = false;
            Size sz = pane.Dimensions;

            if ((btnDock == btnDockLeft) || (btnDock == btnDockRight))
            {
                sz.Width = 150;
            }
            else // ((btnDock == btnDockTop) || (btnDock == btnDockBottom))
            {
                sz.Height = 150;
            }
            pane.Dimensions = sz;

            if (btnDock == btnDockTop)
            {
                pane.ChangeDock(Dock.Top);
            }
            else if (btnDock == btnDockLeft)
            {
                pane.ChangeDock(Dock.Left);
            }
            else if (btnDock == btnDockRight)
            {
                pane.ChangeDock(Dock.Right);
            }
            else if (btnDock == btnDockBottom)
            {
                pane.ChangeDock(Dock.Bottom);
            }

            else if (btnDock == btnDockPaneTop)
            {
                pane.MoveTo(_paneDropCurrent, Dock.Top);
            }
            else if (btnDock == btnDockPaneBottom)
            {
                pane.MoveTo(_paneDropCurrent, Dock.Bottom);
            }
            else if (btnDock == btnDockPaneLeft)
            {
                pane.MoveTo(_paneDropCurrent, Dock.Left);
            }
            else if (btnDock == btnDockPaneRight)
            {
                pane.MoveTo(_paneDropCurrent, Dock.Right);
            }

            else
            {
                System.Diagnostics.Debug.Assert(false); // NOTE: not supported
            }

            return(true);
        }