J'essaie de changer la couleur d'une cellule en jaune si la valeur a été mise à jour dans le DataGrid.WPF Toolkit DataGridCell Style DataTrigger
Mon XAML:
<toolkit:DataGrid x:Name="TheGrid"
ItemsSource="{Binding}"
IsReadOnly="False"
CanUserAddRows="False"
CanUserResizeRows="False"
AutoGenerateColumns="False"
CanUserSortColumns="False"
SelectionUnit="CellOrRowHeader"
EnableColumnVirtualization="True"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Auto">
<toolkit:DataGrid.CellStyle>
<Style TargetType="{x:Type toolkit:DataGridCell}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsDirty}" Value="True">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
</Style.Triggers>
</Style>
</toolkit:DataGrid.CellStyle>
</toolkit:DataGrid>
La grille est liée à une liste de tableaux (afficher un tableau de valeurs peu comme Excel serait). Chaque valeur du tableau est un objet personnalisé qui contient une propriété de dépendance IsDirty. La propriété IsDirty est définie lorsque la valeur est modifiée.
Quand je lance ceci:
- modifier une valeur dans la colonne 1 = toute la ligne jaunit
- modifier une valeur dans une autre colonne = rien ne se passe
Je veux seulement changé cellule pour aller jaune, peu importe quelle colonne son. Voyez-vous quelque chose de mal avec mon XAML?
Génial! Cela a fonctionné exactement comme j'en avais besoin. La seule chose que j'ai dû changer était d'ajouter une Value = true à DataTrigger (donc ça se déclenche quand IsDirty est vrai) – KrisTrip
J'essaye de faire exactement cela mais d'écrire mon style dans xaml? Est-ce possible? – jrwren
C'est génial. Cependant - j'essaye de faire ceci dans WPF, et ceci semble être le code de l'espace de noms de System.Windows.Controls. Y at-il un moyen de faire quelque chose de similaire dans System.Windows.Forms ??? Je ne trouve pas de ressource nulle part. Merci! – mpsyp