2016-06-26 2 views
0

Я создал в своем Window.Resource стиль, который удерживает фон выбранного TabItem. То, что я хочу достичь установлен пользовательский высоту заголовка TabItem, это мой стиль:Как настроить стиль заголовка в TabItem?

<Window.Resources> 
    <ResourceDictionary> 
     <Style x:Key="CustomTabItem" TargetType="{x:Type TabItem}" BasedOn="{StaticResource MetroTabItem}"> 
      <Setter Property="Width" Value="Auto"/> 
      <Setter Property="Background" Value="Transparent" /> 
      <Setter Property="Height" Value="Auto"/> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="TabItem"> 
         <Border Name="Border" Background="Transparent"> 

          <ContentPresenter x:Name="ContentSite" 
             VerticalAlignment="Center" 
             HorizontalAlignment="Left" 
             ContentSource="Header" 
             Margin="10,3"> 
          </ContentPresenter> 
         </Border> 

         <ControlTemplate.Triggers> 
          <Trigger Property="IsMouseOver" Value="True" SourceName="Border"> 
           <Setter TargetName="Border" Property="Background" Value="Gainsboro" /> 
          </Trigger> 
          <Trigger Property="IsSelected" Value="True"> 
           <Setter TargetName="Border" Property="Background" Value="#FFC5C5C5" /> 
          </Trigger> 
         </ControlTemplate.Triggers> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </ResourceDictionary> 
</Window.Resources> 

обычно я добавить стиль к моей TabControl так:

<TabItem Tag="Tab1" Style="{StaticResource CustomTabItem}"> 

Я просто хочу задать заголовок высота для всех TabControls, которые имеют стиль CustomTabItem, любое предложение?

+0

Вы можете установить высоту границы .... –

ответ

1

Вы вводите путаницу между TabControl и TabItem.

В TabControl есть много элементов TabItems.

Каждый TabItem фактически является вкладкой.

Так решения:

1 Набор стилей для всех TabItems всех TabControls

очень простой способ, чтобы применить стиль, чтобы удалить х: Key атрибут TabItem стиля, и стиль будет применяться ко всем TabItems

<!-- No x:Key="CustomTabItem" below --> 
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource MetroTabItem}"> 

2 Установить стиль для всех вкладок TabControl

<TabControl ItemContainerStyle="{DynamicResource TabItemStyle1}" > 
    <TabItem Header="Hello">Hello content</TabItem> 
    <TabItem Header="Goodye">Goodbye content</TabItem> 
</TabControl> 

3 Set Style на TabItem

<TabControl> 
    <TabItem Style="{StaticResource CustomTabItem}" Header="Hello">Hello content</TabItem> 
    <TabItem Header="Goodye">Goodbye content</TabItem> 
</TabControl> 

С уважением

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