Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何向MahApps选项卡控件的选项卡添加关闭按钮?_C#_Wpf_Xaml_Mahapps.metro - Fatal编程技术网

C# 如何向MahApps选项卡控件的选项卡添加关闭按钮?

C# 如何向MahApps选项卡控件的选项卡添加关闭按钮?,c#,wpf,xaml,mahapps.metro,C#,Wpf,Xaml,Mahapps.metro,我试着按照这个说明去做,但我只是从WPF开始 如何使用可以在不同TabControls中重用的UserControl来实现这一点? 还有,哪一个是样式中的“标题”ContentPresenter 以下是在中找到的说明 另一种方法是修改/创建一个样式-然后问题是挂钩 它以一种通用的方式取决于实际的“结束”事件 如果查看TabControl样式,您将看到“标题” ContentPresenter。如果您将其包装在stackpanel中并添加一个按钮 像这样: <StackPanel Orie

我试着按照这个说明去做,但我只是从WPF开始

如何使用可以在不同TabControls中重用的UserControl来实现这一点? 还有,哪一个是样式中的“标题”ContentPresenter

以下是在中找到的说明

另一种方法是修改/创建一个样式-然后问题是挂钩 它以一种通用的方式取决于实际的“结束”事件

如果查看TabControl样式,您将看到“标题” ContentPresenter。如果您将其包装在stackpanel中并添加一个按钮 像这样:

<StackPanel Orientation="Horizontal">
  <Label x:Name="root" FontSize="26.67">
      <ContentPresenter ContentSource="Header"  RecognizesAccessKey="True" />
  </Label>
  <Button Content="X" />
</StackPanel>

你会得到:

如果您的窗口或用户控件(而不是资源)中有 字典),你可以把它连接起来,这样点击就可以发射,然后你就可以了 从数据绑定集合或直接从 TabControl


最简单的方法是使用
MetroTabItem
。它带有属性
CloseButtonEnabled
,用于启用/禁用关闭按钮。您还可以将命令绑定到
CloseTabCommand
CloseTabCommandParameter

<TabControl xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls">
  <Controls:MetroTabItem Header="The Header of the TabItem"
                         CloseButtonEnabled="True"
                         CloseTabCommand="{Binding CloseTabCommand}"
                         CloseTabCommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Header}">

    <!-- your content of the TabItem -->

  </Controls:MetroTabItem>
</TabControl>

希望这有帮助