デフォルトのスタイルを使用する
<Style TargetType="{x:Type TabItem}"x:Key="HeaderStyleS">
<Setter Property="Header" Value="{Binding RelativeSource={RelativeSource Self},
Path=Content.DataContext.ViewName}" />
</Style>
できます。しかし、私の場合はカスタマイズする必要があるTabItem
ので、使用しました
<Style TargetType="{x:Type TabItem}" x:Key="HeaderStyle">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid Background="{TemplateBinding Background}" SnapsToDevicePixels="true" Height="23">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="25"/>
</Grid.ColumnDefinitions>
<ContentPresenter ContentSource="Header" Margin="10,0,10,0" HorizontalAlignment="Center" VerticalAlignment="Center">
<ContentPresenter.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{StaticResource Foreground}"/>
<Setter Property="Text" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content.DataContext.ViewName}"></Setter>
</Style>
</ContentPresenter.Resources>
</ContentPresenter>
<Button Grid.Column="1" Height="15" Width="15" HorizontalAlignment="Center" VerticalAlignment="Center">
...
</Style>
問題は、Header
テキストが表示されないことです。何か案は?