방법: TabControl 스타일 지정
업데이트: 2007년 11월
이 항목에서는 TabControl과 여기에 포함된 항목 컨트롤에 스타일을 적용하는 방법을 보여 줍니다.
예제
다음 예제에서는 TabControl의 컨트롤 템플릿을 구성하는 요소에 대한 변경 내용을 보여 줍니다.
<Style x:Key="{x:Type TabControl}" TargetType="{x:Type TabControl}">
<Setter Property="BorderThickness" Value="3"/>
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="Background" Value="LightBlue"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabControl">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,1,1" BorderBrush="#D0CEBF" Grid.Row="1">
<Border BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}">
<Border Background="{TemplateBinding Background}">
<ContentPresenter ContentSource="SelectedContent"/>
</Border>
</Border>
</Border>
<TabPanel Grid.Row="0" IsItemsHost="true"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
다음 예제에서는 TabControl에 사용되는 TabItem에 스타일을 적용하는 방법을 보여 줍니다.
<Style TargetType="TabItem">
<Setter Property="BorderThickness" Value="3"/>
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="Background" Value="LightBlue"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Border>
<Grid>
<Grid>
<Border CornerRadius="3,3,0,0" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"/>
</Grid>
<Border BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}">
<ContentPresenter ContentSource="Header"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
참고
TabItem의 Content 속성을 TabItem 템플릿의 ContentPresenter에 바인딩하지 마십시오. 대신에 TabControl의 ContentTemplate 속성을 사용하여 TabControl에서 탭 항목의 콘텐츠를 바인딩하십시오.
전체 샘플을 보려면 컨트롤 템플릿을 사용한 TabControl 샘플을 참조하십시오.