Listbox IsSelected z SelectionMode = Rozszerzony
Przepraszam za niejasny tytuł, nie mogłem wymyślić dobrego sposobu podsumowania tego, co się dzieje.
Mam związany listbox WPF:
<UserControl.Resources>
<DataTemplate DataType="{x:Type local:MyBoundObject}">
<TextBlock Text="{Binding Label}" />
</DataTemplate>
</UserControl.Resources>
<ListBox ItemsSource="{Binding SomeSource}" SelectionMode="Extended">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected Value="{Binding Path=IsSelected, Mode=TwoWay}"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Chcę operować TYLKO na wybranych elementach. Robię to, przeglądając listę wszystkich elementów i sprawdzając każdy obiekt, aby sprawdzić, czy jest ustawiona właściwość IsSelected.
Działa to z wyjątkiem sytuacji, gdy mam wiele pozycji na liście (na tyle, że nie wszystkie są widoczne) i naciskam CTRL-A, aby zaznaczyć wszystkie elementy. Gdy to zrobię, wszystkie widoczne elementy mają ustawioną właściwość IsSelected na true, a wszystkie pozostałe pozostają fałszywe. Gdy tylko przewinę w dół, inne elementy zostaną wyświetlone, a ich właściwości IsSelected zostaną ustawione na true.
Czy jest jakiś sposób na naprawienie tego zachowania, aby właściwość IsSelected każdego obiektu była ustawiona na true, gdy naciskam CTRL-A?