コード例 #1
0
        public void Docking(FloatingWindow floatingWindow, Point point)
        {
            if (CurrentDockPane != null)
            {
                OverlayWindow overlay = CurrentDockPane.OverlayWindow;

                DockPane dockPane = floatingWindow.MainDockPane;
                dockPane.RemoveSelf();

                GridSplitter splitter = new GridSplitter();
                splitter.Background = Brushes.Gray;

                if (dockPane != null)
                {
                    if (overlay.LeftDock.Contains(point))
                    {
                        CurrentDockPane.Docking(dockPane, EDock.Left);
                    }
                    else if (overlay.RightDock.Contains(point))
                    {
                        CurrentDockPane.Docking(dockPane, EDock.Right);
                    }
                    else if (overlay.TopDock.Contains(point))
                    {
                        CurrentDockPane.Docking(dockPane, EDock.Top);
                    }
                    else if (overlay.BottomDock.Contains(point))
                    {
                        CurrentDockPane.Docking(dockPane, EDock.Bottom);
                    }
                    else if (overlay.CenterDock.Contains(point))
                    {
                        CurrentDockPane.Docking(dockPane, EDock.Center);
                    }

                    floatingWindow.Close();
                }
            }
        }
コード例 #2
0
 private void OnUnloaded(object sender, RoutedEventArgs e)
 {
     OverlayWindow.Close();
     DockManager.Instance.UnregistDockPane(this);
 }
コード例 #3
0
 private void OnLoaded(object sender, RoutedEventArgs e)
 {
     OverlayWindow = new OverlayWindow();
     DockManager.Instance.RegistDockPane(this);
 }