I have a ViewModel
that has an IsSelected
property which I bind in my ListView.ItemContainerStyle
XAML to an IsSelected
property in my view model.
I bring up the application and populate the view model collection (which is shown in my ListView
) with a lot of items, say about 2000. Then I select everything in the list via Ctrl-A. The items in my view model collection only get the IsSelected
set for the items that are visible in the ListView
. If I page down through the list the IsSelected
gets set for whatever items get shown. If I page through all the items then all the items in my view model have the IsSelected
property set to true.
Here is my XAML for binding the IsSelected
in the list view to my view model:
<ListView Margin="5" ItemsSource="{Binding FilteredComparisonList}" x:Name="comparisonListView">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}" />
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="Source filename" DisplayMemberBinding="{Binding ImageFile.BaseFilename}" Width="Auto" />
</GridView>
</ListView.View>
</ListView>
Why isn't IsSelected
for all the items in my view model set to true when I select all the items in the ListView
?