如何根据单元格的值在WPF ListView中更改单元格的字体颜色?

6
<ListView ItemsSource="{Binding}" Name="myView">
            <ListView.View>
                <GridView>
                    <GridViewColumn DisplayMemberBinding="{Binding fieldA}" Header="Field A" />
                    <GridViewColumn DisplayMemberBinding="{Binding fieldB}" Header="Field B" />                    </GridView>
            </ListView.View>
        </ListView>

我想知道如何格式化列表视图,使得如果 object.fieldA == "apples",则在 fieldA 单元格中显示红色字体。
谢谢专家们。
1个回答

7
你需要使用DataTemplate来展示fieldA的值,并添加一个触发器以改变给定值的Foreground属性。
另请参阅MSDN上的数据模板概述
<GridViewColumn Header="Field A">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <TextBlock x:Name="Txt" Text="{Binding fieldA}" />
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding fieldA}" Value="apples">
                    <Setter TargetName="Txt" Property="Foreground" Value="Red" />
                </DataTrigger>
            </DataTemplate.Triggers>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接