private void Items_ItemRemoving(object sender, ItemRemovingEventArgs <TabItem> e) { if (_internalAction) { return; } if (e.Item != null) { TabItemClosingEventArgs ee = new TabItemClosingEventArgs(e.Item); TabClosing?.Invoke(this, ee); if (ee.Cancel) { // don't remove or close anything, just exit closedTabIndex = -1; e.Cancel = true; return; } if (Items.SelectedItems.Contains(e.Item) && (SelectedTabClosedAction == SelectedTabCloseAction.SelectTabToLeft || SelectedTabClosedAction == SelectedTabCloseAction.SelectTabToRight)) { closedTabIndex = Items.IndexOf(e.Item); } else { closedTabIndex = -1; } } }
internal bool RaiseTabItemClosingEvent(MetroTabItem closingItem) { if (TabItemClosingEvent != null) { foreach (TabItemClosingEventHandler subHandler in TabItemClosingEvent.GetInvocationList()) { var args = new TabItemClosingEventArgs(closingItem); subHandler.Invoke(this, args); if (args.Cancel) return true; } } return false; }
internal bool RaiseTabItemClosingEvent(MetroTabItem closingItem) { if (TabItemClosingEvent != null) { foreach (TabItemClosingEventHandler subHandler in TabItemClosingEvent.GetInvocationList()) { TabItemClosingEventArgs args = new TabItemClosingEventArgs(closingItem); subHandler.Invoke(this, args); if (args.Cancel) { return(true); } } } return(false); }
internal bool RaiseTabItemClosingEvent(CushTabItem closingItem) { if (TabItemClosingEvent == null) return false; foreach (var @delegate in TabItemClosingEvent.GetInvocationList()) { var subHandler = (TabItemClosingEventHandler) @delegate; var args = new TabItemClosingEventArgs(closingItem); subHandler.Invoke(this, args); if (args.Cancel) return true; } return false; }