désolé je pensais être compréhensif. Je suis pas doué pour les explications.
Je vais reprendre:
L'idée de base est de pouvoir appliquer un style à une cellule particulière notamment en fonction du contenu d'une variable.
Donc j'ai une ListView qui contient des objets de type Toto
Toto à 3 attributs
String Column0
String Column1
String Column2
Chacun étant le contenu à afficher dans la colonne.
Si on effectue un DisplayMemberBinding sur le GridViewColumn, on a bien le texte mais sans mise en forme possible.
L'idée était donc de passer les attributs à TextBlock donc Toto devient
TextBlock Column0
TextBlock Column1
TextBlock Column2
Ce qui fait que dans le code Behind je peux lui mettre la mise en forme que je veux.
Le DisplayMemberBinding est alors remplacé par un CellTemplate pour afficher les proprièté du TextBlock que je veux.
Cela marche nickel.
Le souci est que j'aurais aimé généralisé ce comportement. Or dans le DataTemplate j'ai des attributs du style
Foreground="{Binding Path=Column0.Foreground}
où Column0 représente un attribut de ma classe bindé avec ma ListView.
Je suis donc obligé d'avoir un DataTemplate par colonne.
Il faudrait pouvoir passer un paramètre au DataTemplate pour lui indiquer sur quel colonne faire le binding. En clair dans l'exemple passé "Column0" en paramètre pour récupérer le Foreground.
Je sais que c'est assez tordu et je ne suis pas sur que c'est possible mais j'ai certaine contrainte qui m'empêche de faire comme je le veux.
Merci pour ton aide en tout cas (et félicitations pour tes tutos qui sont vraiment un modèle de clarté et de pédagogie)
Partager