0
Est-il possible de définir la couleur d'arrière-plan d'une ou plusieurs lignes?Problème de datagrid WPF
Est-il possible de définir la couleur d'arrière-plan d'une ou plusieurs lignes?Problème de datagrid WPF
Vous pouvez utiliser la propriété AlternatingRowBackground
pour faire une ligne sur deux. Avez-vous besoin de faire des lignes spécifiques? Comme seulement les lignes 1, 5 et 9? Ou une couleur d'arrière-plan différente selon les données?
ÉDITÉE: par commentaire .. modifié
Le faire des données basées peut être fait comme ça ...
<DataGrid
AlternatingRowBackground="AliceBlue"
ItemsSource="{Binding}"
AutoGenerateColumns="False"
Height="200"
HorizontalAlignment="Left"
Margin="156,58,0,0"
Name="dataGrid1"
VerticalAlignment="Top"
Width="200" LoadingRow="dataGrid1_LoadingRow">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding}" />
</DataGrid.Columns>
</DataGrid>
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
ObservableCollection<string> list = new ObservableCollection<string>();
list.Add("test1");
list.Add("test2");
list.Add("test3");
list.Add("test4");
list.Add("test5");
dataGrid1.ItemsSource = list;
}
private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e)
{
if (e.Row.Item.ToString().Contains("test"))
{
e.Row.Background = Brushes.Red;
}
}
oui, couleur de fond différente en fonction des données, est-il possible? comment faire ça? – martin
Dans mon cas, il y a plusieurs colonnes, donc devrais-je utiliser: e.Row.Item.ToString(). Contient == "xxxx"? mais ça ne marche pas .. – martin
'Contains' est une méthode. donc votre code serait ... 'if (e.Row.Item.ToString(). Contient (" xxx ")) .... –