J'ai quelques données. Je veux parcourir ces données et changer les cellules (par exemple - Couleur de fond), si ces données répondent à une certaine condition. D'une certaine manière, je n'ai pas été capable de comprendre comment faire cette chose apparemment facile dans Silverlight.Silverlight Datagrid: Modification des styles de cellule, en fonction des valeurs
3
A
Répondre
5
Ceci est un code légèrement ancien (d'avant RTM), mais fait quelque chose comme ce que vous cherchez. Il vérifie certaines données sur un objet dans une rangée, puis définit la couleur de la ligne en conséquence.
XAML:
<my:DataGrid x:Name="Grid" Grid.Row="1" Margin="5" GridlinesVisibility="None" PreparingRow="Grid_PreparingRow">
<my:DataGrid.Columns>
<my:DataGridTextBoxColumn
DisplayMemberBinding="{Binding Cheese}"
Header="Cheese"></my:DataGridTextBoxColumn>
<my:DataGridTextBoxColumn
DisplayMemberBinding="{Binding Biscuit}"
Header="Biscuit"></my:DataGridTextBoxColumn>
</my:DataGrid.Columns>
</my:DataGrid>
code:
this.Grid.AlternatingRowBackground = null;
private void Grid_PreparingRow(object sender, DataGridRowEventArgs e)
{
CheesyClass c = e.Row.DataContext as CheesyClass;
if (c != null && c.Cheese == "cheddar")
{
e.Row.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 125, 125));
}
}
1
En fait, cela ne fonctionnera pas dans tous les exemples. Voir ces liens pour la « bonne » façon d'y parvenir
0
J'ai généralement écrit ValueConverters personnalisés pour chaque type de données étant lié que la visibilité de retour, couleur, etc.
Cela donne un seul point où les règles de personnalisation sont définies et j'ai trouvé très bien fonctionne.
La deuxième liaison de Robin décrit l'écriture d'un ValueConverter personnalisé.
Questions connexes
- 1. Accès aux styles par programme pour obtenir des valeurs
- 2. Silverlight DataGrid Exception Réorganisation des en-têtes de colonne
- 3. Silverlight DataGrid - Ajouter des colonnes à l'exécution
- 4. Mettre en évidence des lignes entières uniquement dans Silverlight DataGrid
- 5. Modification de la visibilité des contrôles enfants dans RowDetailsTemplate en fonction de la propriété DataContext
- 6. L'éditeur de cellule DataGrid Xceed désactivé pour les valeurs nulles
- 7. Style Silverlight DataGrid
- 8. Silverlight datagrid défilement synchronisé
- 9. SilverLight Datagrid
- 10. Modification des valeurs CSS avec JavaScript
- 11. DataGridViewComboBoxColumn - modification des éléments
- 12. Entity Framework: Modification des valeurs d'une table
- 13. En-têtes DataGrid Silverlight 2
- 14. Modification des valeurs de formulaire avec beforeSubmit avec jQuery ajaxSubmit?
- 15. Héritage dans Silverlight 2 Styles
- 16. Modification des valeurs des variables dans les méthodes, Java
- 17. Style de cellule différent dans une datagrid wpf en fonction du type de données dans ItemsSource
- 18. La modification des locales en Python
- 19. Styles immuables dans Silverlight 2
- 20. Comment ajouter manuellement des données à un DataGrid dans Silverlight
- 21. Problème de modification des valeurs dans la zone de texte
- 22. Modification directe des valeurs à l'aide de LINQ?
- 23. WPF Datagrid. Obtenir les valeurs de chaque cellule de la ligne sélectionnée
- 24. Silverlight DataGrid Redraw Numéro
- 25. Couleur de cellule DataGrid Flex 3
- 26. cellule de mise au point flex datagrid
- 27. Cellule de case à cocher Datagrid
- 28. Flex - Comment trouver l'objet de cellule Datagrid
- 29. Silverlight 3 Datagrid - Mettre temporairement en surbrillance une ligne
- 30. Itère un DataGrid Silverlight
Cela semble logique sur un convertisseur de valeur ou pour changer la couleur de la ligne entière. Est-ce correct? –
Note: LoadingRow est le nouveau nom de PreparingRow –