/// <summary> /// remove a tabItem /// </summary> /// <param name="tabItem"></param> public void RemoveItem(TabItemEx tabItem) { var c = new TabItemExCancelEventArgs(tabItem); TabItemClosing.SafeFire(new object[] { c }); //if the itemssource is using if (this.ItemsSource != null) { IList list = this.ItemsSource as IList; if (list == null) { return; } //get the data item var item = ItemContainerGenerator.ItemFromContainer(tabItem); if (item == null) { return; } list.Remove(item); } else { this.Items.Remove(tabItem); } TabItemClosed.SafeFire(new object[] { c }); }
/// <summary> /// 关闭按钮的点击事件处理方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void btnClose_Click(object sender, RoutedEventArgs e) { // 触发标签项关闭事件 if (TabItemClosing != null) { TabItemClosing.Invoke(sender, e); } //关闭当前TabItem ((TabControl)GetParentObject <TabControl>(this)).Items.Remove(this); }
private void BtnClose_Click(object sender, RoutedEventArgs e) { try { if (TabItemClosing != null) { TabItemClosing.Invoke(sender, e); } //关闭当前TabItem ((TabControl)GetParentObject <TabControl>(this)).Items.Remove(this); } catch (Exception ex) { LogHelper.WriteErrorInfoLog(ex.Message, ex); } }