Bonjour tout le monde,
je pense que le titre est un peu obscur, donc voici quelques explications
J'ai définit une ListView bindée sur une liste de string et je les affiche avec une CheckBox, voici le code :
Je souhaite ensuite récupérer les valeurs cochées en code, après quelques tâtonnements, j'ai trouvé le code qui me permet de remonter à la CheckBox affichée, mais il ne fonctionne pas car il m'indique que toutes les valeurs sont décochées alors que dans la fenêtre j'en coche à la main, voici le code que j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <ListView Name="lvValeur1" Grid.Row="0" AlternationCount="2" ItemsSource="{Binding Path=ValeurList}" ItemContainerStyle="{StaticResource StyleZebre}"> <ListView.ItemTemplate> <DataTemplate> <CheckBox Content="{Binding}"/> </DataTemplate> </ListView.ItemTemplate> </ListView>
Quelle est mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 foreach (string item in lvValeur1.Items) { ListViewItem lvi = (ListViewItem)lvValeur1.ItemContainerGenerator.ContainerFromItem(item); DataTemplate dt = lvi.ContentTemplate; CheckBox cb = (CheckBox)dt.LoadContent(); MessageBox.Show((cb.IsChecked == true).ToString()); }
Existe-t-il une solution plus simple ou aboutir au résultat ?
Merci d'avance pour votre aide.
Partager