我试图遵循这条指令来解决这个问题,但我刚刚开始使用WPF。
如何使用可在不同TabControl中重用的UserControl来执行此操作? 另外一个是"标题" TabControl样式的ContentPresenter?
以下是发现的说明 https://github.com/MahApps/MahApps.Metro/issues/281
另一种方法是修改/创建一个样式 - 问题就是挂钩 它取决于实际的“关闭”状态。以通用的方式举办活动。
如果您查看TabControl样式,您将看到" Header" ContentPresenter。如果将其包装在堆栈面板中并添加一个按钮 像这样:
<StackPanel Orientation="Horizontal"> <Label x:Name="root" FontSize="26.67"> <ContentPresenter ContentSource="Header" RecognizesAccessKey="True" /> </Label> <Button Content="X" /> </StackPanel>
你得到:
如果你在Window或UserControl中有这个(而不是资源) 字典),你可以连线,所以点击可以解雇,然后你可以 从数据绑定集合中删除项目或直接从 的TabControl。
答案 0 :(得分:6)
最简单的方法是使用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>
希望这有帮助。