Я пытаюсь изменить цвет переднего плана DataGridCell, а не всю строку, учитывая значение определенного содержимого ячейки.Например, если значение даты ячейки устарело, я хочу установить передний план на красный.Я почти там, где я использую MultiBinding, чтобы извлечь два значения из сетки данных и проанализировать его через конвертер значений, который реализует IMultiValueConverter.
Короче говоря, и без необходимости идти в сам конвертер, я написалследующий XAML: `
<Style x:Key="CellHighlighterStyle">
<Setter Property="my:ExtendedDataGrid.Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource cellHighlighterConverter}">
<MultiBinding.Bindings>
<Binding RelativeSource="{RelativeSource self}"/>
<Binding Path="Row" Mode="OneWay"/>
</MultiBinding.Bindings>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
I then added to my Datagrid :
CellStyle =" {StaticResource CellHighlighterStyle} "`.
Теперь мой конвертер видит первое свойство Value[0]
как DataGridCell, но второе значениеэто какой-то составленный DependencyProperty.Как будто он создал свойство по умолчанию или фиктивное свойство, когда я действительно хочу получить строку.На самом деле, мне бы очень хотелось получить объект класса, связанный с этой строкой.Моя DataGrid связана с List<of a class object>
.
Я уверен, что я в нескольких дюймах.Как мне разобрать либо строку DataGrid, чтобы я мог извлечь значение поля, либо объект, связанный с этой строкой или самим столбцом, чтобы я мог вернуть цвет, который я хочу вернуть?ИЛИ, есть ли лучший способ для меня выборочно изменить свойства ячейки DataGrid, учитывая значение?