简体   繁体   English

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

[英]How can I change the font color in a cell of a WPF ListView depending on the value of the cell?

<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>

I would like to know how to format my list view so that if object.fieldA == "apples", the font is red in the fieldA cell. 我想知道如何格式化我的列表视图,以便如果object.fieldA ==“apples”,则fieldA单元格中的字体为红色。

Thanks boffins. 谢谢boffins。

You need to use a DataTemplate to show the fieldA value and add a trigger changing the Foreground property for a given value. 您需要使用DataTemplate显示fieldA值并添加一个触发器,更改给定值的Foreground属性。

See also Data Templating Overview on MSDN. 另请参阅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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM