Ejemplo n.º 1
0
        /// <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 });
        }
Ejemplo n.º 2
0
 /// <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);
 }
Ejemplo n.º 3
0
 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);
     }
 }