Bonjour,
Je dois créer une application qui me permet de construire une IHM,
1 - J'ai crée un UserControl "ScreenBaseInfos" qui contient, entre autre, une ListBox.
Cette ListBox est "bindée" à une collection d'objets graphiques, "ScreenBaseObjectsCollection", qui représente les éléments de mon IHM.
Ces objets graphiques peuvent être des images ou des textes : suivant leur type, ils sont affichés differemment dans la ListBox grâce aux DataTemplates (Une image pour les images, un texte pour les textes..)
2 - Seulement, ces objets graphiques appartiennent également à une page graphique. Ils possèdent donc une propriété "GraphicObject_PageInfo" = "Background" ou Foreground".
Au niveau de l'interface, je crée donc deux instances de mon UserControl "ScreenBaseInfos", une pour contenir les objets graphiques possédant la propriétés "Background" et l'autre pour contenir les objets graphiques possédant la propriétés "Foreground".
J'ai donc rajouté également une propriété "ScreenBaseInfos_PageInfo" à "ScreenBaseInfos" informée au moment de la création de mes instances.
Ces deux instances sont donc "bindées" à la même collection d'objets graphiques.
Ce que je souhaite, c'est que si la propriété "ScreenBaseInfos_PageInfo" = "Background", seuls les objets graphiques (images ou textes) de la collection possédants la propriété "GraphicObject_PageInfo" = "Background" soient affichées dans ma ListBox (idem pour la deuxième instance "Foreground").
En gros, j'ai l'impression que sur ma classe de base, "ScreenBaseInfos", j'ai déjà un dataTemplateSelector pour la ListBox mais lorsque je crée des instances, il faut que je surcharge ces dataTemplates en fonction d'une propriété du "contenant" de la ListBox...
Et ça, je sais pas faire...
Je vous remercie si vous m'avez lu jusqu'au bout...
Je vous remercie d'avance pour votre aide.
Partager