У меня есть следующий DataGrid:Как изменить цвет строки DataGrid при обнаружении определенного значения?
<DataGrid AutoGenerateColumns="False" Name="dgPanelLogs">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" SortMemberPath="ID"
x:Name="columnID"
Binding="{Binding Path=ID}"
IsReadOnly="True"
Width="50*"
SortDirection="Descending" >
</DataGridTextColumn>
<DataGridTextColumn Header="Time" SortMemberPath="Time"
x:Name="columnTime"
Binding="{Binding Path= Time, StringFormat='{}{0:dd/MM/yyyy HH:mm:ss}'}"
IsReadOnly="True"
Width="140*"
SortDirection="Descending">
</DataGridTextColumn>
<DataGridTextColumn Header="Event" SortMemberPath="Event"
x:Name="columnMessage"
Binding="{Binding Path=Message}"
IsReadOnly="True"
Width="350*"
SortDirection="Descending" >
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Мое новое требование заключается в изменении строки в красный цвет, когда определенное значение встречается. В частности, я должен получить новое логическое значение с данными каждой строки, и если это правда, мне нужно установить текст этой строки на красный.
Каков наилучший способ для этого?
Для уточнения, вы хотите установить всю строку, например. Красный. – DHN
Да, в частности * текст * строки, поэтому на переднем плане каждой ячейки действительно. – DaveDev
Это, конечно, не то же самое, что и в WinForms, например, через строки, окрашивающие фон ячеек. Я написал код, чтобы сделать это, и это ужасно - это работает, но это противно. Я поделюсь, если вы думаете, что можете использовать код, но правильным способом будет использование привязки данных/'Triggers' /' Commands' и т. Д. – MoonKnight