private void DockLayoutManager_DockItemClosing(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e) { MessageBoxResult msgBoxResult = WinUIMessageBox.Show("Are you sure you want to remove " + e.Item.Caption + "?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (msgBoxResult == MessageBoxResult.Yes) { closedPanelName = e.Item.Name.ToString(); closedPanelCaption = e.Item.Caption.ToString(); //MessageBox.Show(closedPanelName); UndoRemovedFlyout.HorizontalAlignment = HorizontalAlignment.Center; FlyoutLabelItem.Label = e.Item.Caption + " is removed. "; UndoRemovedFlyout.IsOpen = true; UndoRemovedFlyout.Opacity = 0.3; UndoRemovedFlyout.PlacementTarget = IntelliScreen as UIElement; dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); dispatcherTimer.Tick += dispatcherTimer_Tick; dispatcherTimer.Interval = new TimeSpan(0, 0, 5); dispatcherTimer.Start(); } else { e.Cancel = true; return; } }
private void dockManager_DockItemClosing(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e) { DockLayoutManager documentManager = sender as DockLayoutManager; var item = documentManager.ActiveDockItem; if (item != null && item.ActualCaption != null && item.ActualCaption.ToString() == "测试结果") { var result = DXMessageBox.Show("是否关闭测试界面?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No); if (result == MessageBoxResult.Yes) { e.Cancel = false; } else { e.Cancel = true; } } else if (item != null && item.ActualCaption != null && item.ActualCaption.ToString() == "本地校准") { if (TestPlanManager.CurrentTestPlan == null) { return; } var dialogResult = DXMessageBox.Show("是否保存校准?", "提示", MessageBoxButton.OKCancel); if (dialogResult == MessageBoxResult.OK) { Interface.SaveAllLocalSettings(TestPlanManager.CurrentTestPlan); } } }
/// <summary> /// if a document panel is requsted to be closed, *do not* actually close it, just hide it instead, /// otherwise, the panel will be moved to the HidenPanelCollection, and can not be enumerated in the documentgroup items. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dockLayoutManager_DockItemClosing(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e) { if (e.Item is DocumentPanel) { e.Cancel = true; ((DocumentPanel)e.Item).Visibility = Visibility.Hidden; } }
private void onCloseTab(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e) { var closedItem = (((DevExpress.Xpf.Docking.Base.ItemEventArgs)(e)).Item).Name; if (MTGlobal.TAB_ARRAY != null && closedItem != null) { if (MTGlobal.TAB_ARRAY.Contains(closedItem)) { MTGlobal.TAB_ARRAY.Remove(closedItem); } } }
//// //// All things related to DocumentPanels //// #region DocumentPanel Region /// <remarks> /// Summary: /// Remove a dockpanel from the primary document group. /// </remarks> private void DockLayoutManager_DockItemClosing(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e) { DockLayoutManager dm = sender as DockLayoutManager; string caption = dm.ActiveDockItem.Caption.ToString(); // TO-DO : can't use "AnyDirty"... Need to figure out which VM we are dealing with..... if (Host.Instance.AnyDirty()) { MessageBoxResult result = MessageBox.Show("You have unsaved edits. Save changes before closing?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Yes); switch (result) { case MessageBoxResult.Yes: e.Cancel = true; return; case MessageBoxResult.No: break; default: e.Cancel = true; return; } } // Remove the MvvmBinder. Host.Instance.Execute(HostVerb.Close, caption); // TO-DO: This may need to move to Closed() // Set the previous DockPanel as the active panel int count = this.primaryDocumentGroup.Items.Count(); primaryDocumentGroup.SelectedTabIndex = primaryDocumentGroup.Items.Count - 1; if (primaryDocumentGroup.SelectedTabIndex >= 0) { this.dockLayoutManager.Activate(primaryDocumentGroup.Items[primaryDocumentGroup.SelectedTabIndex]); } // If there are no (more) documents in the documentGroup, then turn off HitTestVisible so // Main doesn't throw w/ a null reference if the user clicks on the empty document group panel. if (0 == count) { this.layoutGroupMain.IsHitTestVisible = false; } e.Handled = true; }
private void DockLayoutManager_DockItemActivating(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e) { AddLogEntry("DockItemActivating: " + e.Item.CustomizationCaption); }
private void dockLayoutManager_DockItemStartDocking(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e) { Console.WriteLine("{0}, item {1}", "StartDocking", e.Item.Name); }