Bonjour !
J'ai vu que je n'étais pas le seul à poser la question, mais je préfère expliquer mon cas de figure dans un nouveau post.
J'ai un ListView dont le DataTemplate possède une CheckBox et des TextBlocks.
Tout s'affiche correctement, par le binding ne semble pas fonctionner...
Ce qui m'interpelle, c'est qu'en posant des points d'arrêt sur la méthode IsSelected, je me rends compte que les get & set ne sont jamais appelés, mais si je sors la CheckBox du DataTemplate pour la mettre autre part dans le code, le binding passe bien.
Est-ce normal ? Comment dois-je procéder alors ?
Le XAML de la ListView :
Le code de IsSelected dans mon ViewModel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <ListView Height="250" Width="450" ItemsSource="{Binding Conferences, Mode=TwoWay}"> <ListView.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <CheckBox Margin="0,0,5,0" IsChecked="{Binding IsSelected, Mode=TwoWay}"></CheckBox> <TextBlock Text="{Binding id}" /> <TextBlock Text=" - " /> <TextBlock Text="{Binding titre}" /> <TextBlock Text=" - " /> <TextBlock Text="{Binding date}" /> </StackPanel> </DataTemplate> </ListView.ItemTemplate> </ListView>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 private bool _isSelected; // ... public bool IsSelected { get { return _isSelected; } set { _isSelected = value; OnPropertyChanged("IsSelected"); if (value != false) // Instructions } }
Partager