0

デフォルトのスタイルを使用する

<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テキストが表示されないことです。何か案は?

4

1 に答える 1