WPF如何更改gridviewcolumn的颜色

时间:2017-10-14 13:22:11

标签: c# wpf

为了解释大部分问题,我找到了几个关于CellTemplate和DataTemplate的答案,以及一个设置HeaderContainerStyle,但没有一个工作;结果范围从无变化到崩溃。

我正在尝试为列表视图更改每列中第一个条目的颜色(基本上每个列的标题都会突出显示)。这是我尝试过的最近没有成功的事情。任何建议或建议都非常感谢。

<ListView Height="380" VerticalAlignment="Top" HorizontalContentAlignment="Stretch">
            <ListView.View>
                    <GridView>
                        <GridViewColumn Header="First" Width="60" >
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock x:Name="Txt" Text="{Binding First}" Background="DarkBlue"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Last" Width="60" DisplayMemberBinding="{Binding Last}" />
                        <GridViewColumn Header="Group" Width="80" DisplayMemberBinding="{Binding Group}" />
                    </GridView>
        </ListView.View>
</ListView>

1 个答案:

答案 0 :(得分:1)

以下代码是您要找的吗?

第一行:

<GridViewColumn.CellTemplate>
    <DataTemplate>
        <TextBlock x:Name="Txt" Text="{Binding First}"/>
        <DataTemplate.Triggers>
            <DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
                <Setter TargetName="Txt" Property="Background" Value="DarkBlue"/>
            </DataTrigger>
        </DataTemplate.Triggers>
    </DataTemplate>
</GridViewColumn.CellTemplate>

标题:

<GridViewColumn Header="First" Width="60" >
    <GridViewColumn.HeaderContainerStyle>
        <Style TargetType="{x:Type GridViewColumnHeader}">
            <Setter Property="Background" Value="LightSkyBlue"/>
        </Style>
    </GridViewColumn.HeaderContainerStyle>
</GridViewColumn>