Question

Je travaille dans Silverlight, en essayant de comprendre comment définir une couleur de police de cellules de grille en fonction du contenu de la cellule.

Je ObservableCollection lié à un DataGrid, et mes articles pour que les INotifyPropertyChanged mettre en œuvre des mises à jour de la grille que je change les valeurs; il est tout fonctionne parfaitement, y compris me laisser trier les articles et garder le tri alors que je mettre à jour les éléments sous-jacents.

Je sais que je peux utiliser l'événement LoadingRow aux couleurs de changement, mais la seule façon que je peux obtenir l'événement au feu est en changeant la source de données des grilles, dans ce cas, mon tri passe par la fenêtre.

Alors, ce que je veux vraiment est un moyen soit

  1. boucle les lignes de la grille de données, trouver I cellulaire besoin, et le changement sa couleur ou
  2. mettre en œuvre une coutume colonne que je peux utiliser pour dynamiquement définir la couleur.

Le problème est de savoir comment réellement faire ou l'autre de ces choses :).

Était-ce utile?

La solution

Vous devez utiliser databinding pour cela.

  1. Bind votre couleur de police cellulaire au contenu de la cellule
  2. Créer un IValueConverter de convertisseur qui convertit la valeur à une couleur en fonction de vos besoins

Voir ici pour un bon exemple
http: // weblogs.asp.net/joewrobel/archive/2009/01/25/conditional-formatting-in-the-silverlight-datagrid.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top