Dans mon code XAML, je veux définir l'option Background
couleur de chaque ligne, en fonction de la valeur de l'objet dans une ligne spécifique. J'ai un ObservableCollection
de z
et chacun des z
a une propriété appelée State
. J'ai commencé avec quelque chose comme ça dans mon DataGrid
:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background"
Value="{Binding z.StateId, Converter={StaticResource StateIdToColorConverter}}"/>
</Style>
</DataGrid.RowStyle>
C'est une mauvaise approche car x n'est pas une propriété de ma classe ViewModel.
Dans ma classe ViewModel j'ai une ObservableCollection<z>
qui est le ItemsSource
de cette DataGrid
et un SelectedItem
de type z
.
Je pourrais lier la couleur à SelectedItem
mais cela ne changera qu'une seule ligne dans le fichier DataGrid
.
Comment puis-je, à partir d'une propriété, changer la couleur de fond de cette rangée ?