代码之家  ›  专栏  ›  技术社区  ›  ollifant

wpf:仅对直接子级设置样式

wpf
  •  4
  • ollifant  · 技术社区  · 14 年前

    在我的应用程序中,我有一个选项卡控件,它有几个选项卡项。 问题是,我希望将样式应用于这些选项卡项,但不应用于其他(嵌套)选项卡项。

    我尝试在选项卡控件上设置以下样式,但这也会影响所有子级:

    <Style x:Key="tabControlStyle" TargetType="{x:Type TabControl}">
         <Setter Property="TabItem.Template" Value="{StaticResource tabItemTemplate}" /> 
    </Style>
    

    通过使用上面的代码,我得到以下错误:“TabItem”ControlTemplate TargetType与模板化类型“TabControl”不匹配,因为TabItem和TabControl具有相同的DependencyProperty“Template”,并且代码尝试将TabItemTemplate设置为TabControl-Template。

    有人能帮我吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Julien Lebosquain    14 年前

    使用 ItemContainerStyle 属性将样式应用于项控件的项:

    <Style x:Key="tabControlStyle" TargetType="{x:Type TabControl}">
         <Setter Property="ItemContainerStyle" Value="{x:StaticResource tabItemStyle}" /> 
    </Style>