【问题标题】:How do I change the background color of a cell using WPFDatagrid based on databinded by DataTable如何根据 DataTable 的数据绑定使用 WPF Datagrid 更改单元格的背景颜色
【发布时间】:2016-08-02 04:23:24
【问题描述】:

我有大约 66 列和 4000 行的数据表

每一行都属于某种基于条件的着色的类别

我对 WPF 很陌生,实际上我已经实现了一些基于条件的着色 datagridview 中的行,但 WPF 作为组件 DATA GRID

如何根据单元格值实现基于单元格的着色?在 WPF 中

我试过这个例子无法理解请提供一些很好的例子,它根据值绑定数据表中的数据和着色数据网格单元格

http://stackoverflow.com/questions/1745132/how-do-i-change-the-background-color-of-a-cell-using-wpf-toolkit-datagrid

【问题讨论】:

  • 条件是什么?
  • 例如: if (str == "SKIP") { cell.Style.BackColor = Color.Orange; } else if (str == "FAIL") { cell.Style.BackColor = Color.Red; }

标签: c# wpf datagridview datagrid


【解决方案1】:

定义触发器以检查 str 列值“skip”、“fail”并设置背景颜色。

<DataGridTextColumn Binding="{Binding str}" >
  <DataGridTextColumn.ElementStyle>
    <Style TargetType="{x:Type TextBlock}">
         <Style.Triggers>
            <Trigger Property="Text" Value="SKIP">
                <Setter Property="Background" Value="Orange"/>
            </Trigger>
            <Trigger Property="Text" Value="FAIL">
                <Setter Property="Background" Value="Red"/>
            </Trigger>
        </Style.Triggers>
     </Style>
  </DataGridTextColumn.ElementStyle>
</DataGridTextColumn>

【讨论】:

  • @Inqusitivemind .. 这触发不适合我的问题.. 因为我的条件会根据第一列值不断变化,例如:如果第一列是 1C,那么我需要检查列号中的字符串10 - 20 如果这些列包含 N/A{Yellow} 或跳过 {Blue} 或失败{Red} 颜色..
猜你喜欢
  • 2011-04-03
  • 2020-06-02
  • 1970-01-01
  • 2014-09-30
  • 1970-01-01
  • 2018-09-26
  • 2010-12-17
  • 2014-03-12
  • 1970-01-01
相关资源
最近更新 更多