实现这个功能,可以使用WPF中的TabControl控件和TabItem控件。具体步骤如下:

  1. 在界面中添加一个TabControl控件,设置其Name属性为tabControl。

  2. 添加一个按钮,用于增加新的TabItem选项卡。在按钮的Click事件处理程序中,添加如下代码:

TabItem newTabItem = new TabItem();
newTabItem.Header = "New Tab";
// 添加删除按钮
Button closeButton = new Button();
closeButton.Content = "X";
closeButton.Width = 16;
closeButton.Height = 16;
closeButton.Margin = new Thickness(4, 0, 0, 0);
closeButton.Click += CloseButton_Click;
newTabItem.Header = new StackPanel() { Orientation = Orientation.Horizontal, Children = { new TextBlock() { Text = "New Tab" }, closeButton } };
// 将新的TabItem添加到TabControl中
tabControl.Items.Add(newTabItem);
// 将新的TabItem设置为当前选中的选项卡
tabControl.SelectedItem = newTabItem;

在上面的代码中,首先创建一个新的TabItem对象,并设置其Header为"New Tab"。然后创建一个Button按钮,用于删除当前选项卡。为了让删除按钮显示在标题右上角,需要使用StackPanel和TextBlock控件来布局。最后将新的TabItem添加到TabControl中,并将其设置为当前选中的选项卡。

  1. 添加一个CloseButton_Click事件处理程序,用于删除当前选项卡。在事件处理程序中,添加如下代码:
Button closeButton = sender as Button;
TabItem tabItem = closeButton.Parent as TabItem;
tabControl.Items.Remove(tabItem);

在上面的代码中,首先获取触发事件的按钮对象,并通过其Parent属性获取父级TabItem对象。然后通过TabControl的Items集合的Remove方法,将该TabItem从TabControl中删除。

通过上面的步骤,就可以实现在WPF中根据按钮增加TabItem,并在每一个TabItem的标题右上角添加一个删除小X的功能了

WPF 根据按钮增加TabItem每一个TabItem的标题右上角都有一个删除小小的X代表可以删除这个选项卡

原文地址: https://www.cveoy.top/t/topic/cvVx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录