【问题标题】:Set the Background of a DataGridRow based on the content of a cell根据单元格的内容设置 DataGridRow 的背景
【发布时间】:2011-06-16 20:11:28
【问题描述】:

有没有办法使用 XAML 根据其中一个单元格的内容动态设置行的背景?

谢谢,

菲尔

【问题讨论】:

    标签: wpf xaml wpfdatagrid wpftoolkit


    【解决方案1】:

    您可以为行定义样式并使用 DataTrigger 更改颜色。像这样的:

    <DataGrid>
        <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding BooleanPropertyOnObjectBoundToRow}" Value="True">
                       <Setter Property="Background" Value="Red"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </DataGrid.RowStyle>
    </DataGrid>
    

    这里的BooleanPropertyOnObjectBoundToRow 是数据对象上的一个布尔属性,单元格绑定到该属性。

    【讨论】:

    • 如何让颜色变得动态而不只是红色?
    • 对不起,我可能理解错了。我的属性实际上是一个Enum 我想我可以为绑定制作一个枚举到布尔转换器。
    • @Phil:您还可以为 Binding 的 Value-proeprty 指定自己的枚举值。为此,您必须声明枚举的命名空间并将其设置在 value 属性中,使用 Value="{x:Static yourNamespace:YourEnum.YourValue}"
    • 谢谢,我一个人永远也想不通。
    • 不确定我是否理解:Binding="{Binding BooleanPropertyOnObjectBoundToRow}" 这是什么?
    猜你喜欢
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 2021-09-23
    • 2011-07-13
    相关资源
    最近更新 更多