【问题标题】:Datagrid - How to change the first 3 lines backgroundcolorDatagrid - 如何更改前 3 行背景色
【发布时间】:2012-02-15 20:40:37
【问题描述】:

我有一个数据网格,它以 XML 文件为基础。 根据 xml 中的数据,对列表进行排序。

我现在要做的是更改前 3 行背景颜色,例如第一个红色、第二个黄色和第三个蓝色。 第 3 次之后,它都可以只是默认的白色。

我找不到如何做到这一点,任何人都可以帮助我吗?

谢谢!

【问题讨论】:

    标签: c# wpf datagrid colors


    【解决方案1】:

    最简单的方法是处理DataGridLoadingRow 事件并更新其中的颜色。

    private void dg_LoadingRow(object sender, System.Windows.Controls.DataGridRowEventArgs e)
    {
        int index = e.Row.GetIndex();
        if (index == 0)
            e.Row.Background = Brushes.Blue;
         else if (index == 1)
            e.Row.Background = Brushes.Red;
         else if (index == 2)
            e.Row.Background = Brushes.White;
    }
    

    另一种方法是使用this 帖子中描述的方法从DataGrid 中检索前三个DataGridRow。然后使用dataGridRow的Background属性来改变它的颜色

    更简洁的方法是为DataGridRow 定义一个style,并使用triggers 更改特定DataGridRowbackground 颜色。我不确定您在更改前三行的background 颜色之后是否有一些标准,或者这是一个硬编码要求。如果它是DataGrid 中的某些标准或值,那么您应该采用基于Style 的方法。

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 2015-08-22
      • 2015-03-26
      • 2015-08-31
      • 1970-01-01
      • 2017-05-05
      • 2011-09-12
      • 2012-06-12
      • 2023-01-16
      相关资源
      最近更新 更多