WPF数据网格和行着色

时间:2018-11-14 09:45:52

标签: c# wpf datagrid

我正在尝试执行一些在WinForms中很简单的操作,但是对于WPF来说几乎是不可能的。我需要使用两种阴影(一种用于奇数行,一种用于偶数行-aka AlternatingRowBackground)为行(很长,很多值)着色。似乎-如果我将任何画笔设置为AlternatingRowBackground,则无论我要对此设置什么(即在我的数据表中绑定一些值以使某些行以红色背景突出显示)-操作RowStyle或尝试在LoadedRow中强制行背景事件函数-所有这些都将被忽略。如果我要删除AlternatingRowBackground笔刷,则RowStyle开始工作,但是我没有交替的行阴影。

因此,我尝试使用MultiDataTrigger来(多)绑定此应该突出显示的值和可以显示行索引的值-手动创建常规/交替颜色。我需要它,因为DataGrid已过滤。我不能在数据表中使用一些假值来确定当前行索引。换句话说-DataGrid行索引与数据表行索引不同。我试图绑定DataGridRow本身。但是在转换过程中,行在datagrid中没有索引(始终为-1)。

是否可以同时设置AlternatingRowColor和同时用不同的背景突出显示某些行?

1 个答案:

答案 0 :(得分:1)

问题是优先。属性中设置的值与样式中设置的优先级更高。因此,如果您在AlternatingRowBackground中设置Style而不是作为元素的属性,那么所有元素都将按预期工作:

<DataGrid.Style>
    <Style TargetType="DataGrid">
        <Setter Property="AlternatingRowBackground" Value="Aquamarine"/>
    </Style>
</DataGrid.Style>