Bonjour,
je souhaite utiliser une ListBox dont le ItemsPanel est un Grid :
Mon problème est que j'ai besoin d'une référence à l'élément ItemsGrid dans mon code Behind.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <ListBox Name="ListBox1"> <ListBox.Resources> <Style TargetType="ListBox"> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <Grid Name="ItemsGrid"/> </ItemsPanelTemplate> </Setter.Value> </Setter> </Style> </ListBox.Resources> </ListBox>
J'ai pensé récupérer cette référence en utilisant son événement Loaded :
Cela fonctionne, mais je pense qu'il doit y avoir plus propre. Par exemple instancier le Grid en tant que StaticRessource et ensuite utiliser cette ressource pour définir le contenu de <ItemsPanelTemplate> :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <ItemsPanelTemplate> <Grid Name="ItemsGrid" Loaded="ItemsGrid_Loaded"/> </ItemsPanelTemplate>
Mais je ne sais pas si c'est possible et si oui quelle est la syntaxe.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <ListBox Name="ListBox1"> <ListBox.Resources> <Grid x:Key="itemsGrid" Name="ItemsGrid"/> <Style TargetType="ListBox"> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <!-- ICI référence à x:Key="itemsGrid"--> </ItemsPanelTemplate> </Setter.Value> </Setter> </Style> </ListBox.Resources> </ListBox>
Partager