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); }