GridViewColumnHeader混淆

时间:2010-07-05 23:46:26

标签: wpf wpf-controls

为什么会起作用:

<Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
  <Setter Property="Background" Value="LightBlue"/>
</Style>

而不是这个?

<ListView.View>
     <GridView>
         <GridView.ColumnHeaderContainerStyle>
             <Style>
                <Setter Property="Background" Value="Orange" />
             </Style>
         </GridView.ColumnHeaderContainerStyle>
...

感谢

1 个答案:

答案 0 :(得分:2)

您需要在Style上设置TargetType属性,否则解析器将不知道如何解析Background

<ListView.View>
    <GridView>
        <GridView.ColumnHeaderContainerStyle>
            <Style TargetType="GridViewColumnHeader">
                <Setter Property="Background" Value="Orange" />
            </Style>
        </GridView.ColumnHeaderContainerStyle>

也可以在Setter中限定属性名称:

<Setter Property="GridViewColumnHeader.Background" Value="Orange" />

但该语法适用于附加属性。