2014-12-12 78 views
1

我试图按照这个指示如何做到这一点,但我刚开始使用WPF。如何将关闭按钮添加到MahApps TabControl的选项卡上?

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

下面是 https://github.com/MahApps/MahApps.Metro/issues/281

发现该指令的另一种方法是修改/创建一个样式 - 问题则挂钩 它以一种通用的方式实际“关闭”事件。

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

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

你得到:

enter image description here

如果你有一个在你的窗口或用户控件(而不是资源 字典),您可以将它连接起来,点击可以触发,然后您可以从数据绑定集合中或直接从 TabControl中删除该项目。

回答

4

最简单的方法是使用MetroTabItem。它与属性CloseButtonEnabled来启用/禁用关闭按钮。您还可以将命令绑定到CloseTabCommandCloseTabCommandParameter

<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> 

希望这会有所帮助。

相关问题