WPF Datagrid-change la couleur de fond de la ligne pour laquelle le bouton est cliqué
J'ai une grille de données dans mon application wpf. Je veut que lorsque l'utilisateur clique sur un bouton dans la grille de la ligne correspondante doit être rouge. Je pense que nous pouvons le faire en utilisant le déclencheur d'événement, mais je ne sais vraiment pas comment l'utiliser.
<DataGrid x:Name="dgEmp" Grid.Row="1" AutoGenerateColumns="False" CanUserAddRows="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Width="*" Binding="{Binding Path=Name}"></DataGridTextColumn>
<DataGridTextColumn Header="Age" Width="*" Binding="{Binding Path=Age}"></DataGridTextColumn>
<DataGridTemplateColumn Header="Delete" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Delete selected row"></Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir une couleur à la propriété dans chaque ligne, lier cela aux lignes couleur d'arrière-plan et modifier à mesure que l'SelectedItem changements.
<DataGrid.RowBackground> <SolidColorBrush Color="{Binding RowColor}" /> </DataGrid.RowBackground>
ni<DataGrid.Resources> <Style TargetType="DataGridRow"> <Setter Property="Background" Value="{Binding RowColor}" /> </Style> </DataGrid.Resources>
Dans aucun de ces cas-je obtenir rangée du fond de forme de couleur.RowColor
est de typeColor
, il faut l'envelopper dans<SolidColorBrush>
élément, comme indiqué dans la réponse à la stackoverflow.com/questions/7339509. SinonRowColor
doit être unBrush
.