Beispiel #1
0
        public ShellWindow(ShellViewModel viewModel, MenuManager menuManager, DockingManager dockingManager)
        {
            InitializeComponent();

            Docking.MouseDown += (_, e) =>
            {
                if (e.ChangedButton == MouseButton.Middle && e.ButtonState == MouseButtonState.Pressed && e.OriginalSource is FrameworkElement element)
                {
                    if (element.ParentOfType <RadPane>() is RadPane pane)
                    {
                        MessageBus.Current.ClosePanel(pane);
                    }
                    else if (element.ParentOfType <PaneHeader>() is PaneHeader paneHeader)
                    {
                        MessageBus.Current.ClosePanel(paneHeader.SelectedPane);
                    }
                }
            };

            ViewModel = viewModel;

            menuManager.PopulateMenu(Menu);
            dockingManager.AttachDocking(Docking);
        }