2014-12-12 2 views
1

Я пытался следовать этой инструкции о том, как это сделать, но я только начинаю с WPF.Как добавить кнопку закрытия на вкладку вкладки MahApps TabControl?

Как это сделать с помощью UserControl, который я могу повторно использовать в разных TabControls? И какой из них - «Заголовок» ContentPresenter в стиле TabControl?

Ниже приводится инструкция по адресу 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

Если у вас есть, что в вашем окне или UserControl (а не ресурсов словаря), вы можете подключить его так, чтобы щелкнуть можно, и тогда вы можете удалить элемент из коллекции данных или непосредственно из TabControl .

ответ

4

Самый простой способ - использовать 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> 

Надеюсь, это поможет.

Смежные вопросы