Стиль TabItem не отображает информацию заголовка - PullRequest
0 голосов
/ 17 июня 2011

Сделал великолепную вкладку в Blend, но мой ContentPresenter должен быть выключен - на нем не отображается текст TabItem Заголовок.

Редактировать 1: Реализовано предложение CodeNaked и ответ Рэйчел, так что вы можете простоиспользуйте этот стиль как есть, если хотите.

<Style x:Key="TabItemStyle2" TargetType="{x:Type TabItem}">
    <Setter Property="Template">
        <Setter.Value>
        <ControlTemplate TargetType="{x:Type TabItem}">
                <Grid>
            <Border BorderThickness="3" CornerRadius="5,5,0,0">
                    <Border.BorderBrush>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#7F605F5F" Offset="0"/>
                    <GradientStop Color="#7F7E7E7E" Offset="1"/>
                </LinearGradientBrush>
                </Border.BorderBrush>
                <Border.Background>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FF6096E5" Offset="0.004"/>
                            <GradientStop Color="#FF6096E5" Offset="0.823"/>
                    <GradientStop Color="White" Offset="0.228"/>
                    </LinearGradientBrush>
                </Border.Background>
                </Border>
            <Border x:Name="BorderGlass" BorderThickness="3" CornerRadius="5,5,0,0" Background="#7FFDFDFD">
                <Border.BorderBrush>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#7FFFFFFF" Offset="0"/>
                    <GradientStop Color="#BFFFFFFF" Offset="0.401"/>
                    <GradientStop Color="#F2FFFFFF" Offset="0.254"/>
                </LinearGradientBrush>
                </Border.BorderBrush>
            </Border>
            <ContentPresenter HorizontalAlignment="Center" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="Center" ContentPresenter ContentSource="Header">
                <ContentPresenter.OpacityMask>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF6096E5" Offset="0"/>
                    <GradientStop Color="#FF6096E5" Offset="0.823"/>
                    <GradientStop Color="White" Offset="0.228"/>
                </LinearGradientBrush>
                </ContentPresenter.OpacityMask>
                </ContentPresenter>
            </Grid>
        </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Ответы [ 2 ]

2 голосов
/ 17 июня 2011

Попробуйте добавить ContentSource="Header" к вашему ContentPresenter

<ContentPresenter ContentSource="Header" ... >
1 голос
/ 17 июня 2011

Ваш первый стиль не действительно действителен. Вы не должны определять элемент управления в элементе управления, который вы разрабатываете. В вашем первом стиле вы включаете TabItem в шаблон элемента управления для TabItem. Что вы не должны делать.

Ответ Рэйчел решает проблемы с вашим вторым стилем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...