Binding Checkbox dans une ListView
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 :
Code:
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> |
Le code de IsSelected dans mon ViewModel :
Code:
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
}
} |