Мне нужно настроить цвет фона конкретной ячейки в сетке данных на основе значения ячейки. В приведенном ниже коде, если пользователь активен, я хочу установить зеленый цвет фона ячейки «Active».
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
IsReadOnly="True"
ItemsSource="{ Binding Path=Users }" >
<DataGrid.Columns>
<DataGridTextColumn Header="User ID" Binding="{Binding UserID}" Width="Auto"/>
<DataGridTextColumn Header="Surname" Binding="{Binding Surname}" Width="Auto"/>
<DataGridTextColumn Header="Given Names" Binding="{Binding GivenNames}" Width="Auto"/>
<DataGridTextColumn Header="Active"
Binding="{Binding Active, Converter={ StaticResource booleanToYesNoConverter} }"
Width="Auto"/>
</DataGrid.Columns>
</DataGrid>
Я новичок в WPF и MVVM, и я не знаю, какое лучшее решение. Я думал об установке атрибута фона с помощью конвертера значений:
<DataGridTextColumn Header="Active"
Binding="{Binding Active, Converter={ StaticResource booleanToYesNoConverter} }"
Background="{ Binding Active, Converter={ StaticResource activeInactiveBackgroundColorConverter }}"
Width="Auto"/>
Я сделал это для другого элемента управления (StatusBarItem), и он работает нормально, но я не могу сделать это для DataGridView. Спасибо за любую помощь, спасибо.