WPF仅为第一级设置controltemplate

时间:2012-10-26 17:05:55

标签: wpf tabcontrol controltemplate

我有tabcontrol的样式:

<Style TargetType="{x:Type TabControl}" x:Key="CloseableTabControl">
    <Style.Resources>
        <Style TargetType="{x:Type TabItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabItem}">

这对包含在tabcontrol中的所有tabitem都有效,包括子tabcontrol项。

我希望只有第一级tabitems应用了这种风格。 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

由于您没有为TabItem样式设置值x:Key,因此它将应用于在Visual Tree中找到的所有TabItem。如果您希望将样式仅应用于特定的TabItem,则需要设置x:Key值 -

<Style TargetType="{x:Type TabItem}"
       x:Key="TabItemStyle">

无论您希望何种方式应用Style,都必须使用StaticResource -

<TabItem Style="{StaticResource TabItemStyle}"/>