WPF:仅为直接孩子设置样式

时间:2010-05-30 12:43:02

标签: wpf

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

我已尝试在制表符控件上设置以下样式,但这也会影响所有子项:

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

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

有人能帮助我吗?

1 个答案:

答案 0 :(得分:3)

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

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