Список выбирается с помощью SelectionMode = Extended

Извините за смутное название, я не смог придумать хороший способ подвести итог тому, что происходит.

У меня есть связанный список 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>

Я хочу оперировать ТОЛЬКО выбранными предметами. Я делаю это путем перебора списка всех элементов и проверки каждого объекта, чтобы увидеть, установлено ли его свойство IsSelected.

Это работает за исключением случаев, когда у меня есть много элементов в списке (достаточно, чтобы они не все были видны), и я нажимаю CTRL-A, чтобы выбрать все элементы. Когда я делаю это, все видимые элементы имеют свойство IsSelected, установленное в true, а все остальные остаются ложными. Как только я прокручиваю вниз, появляются другие элементы, и их свойства IsSelected устанавливаются в true.

Есть ли способ исправить это поведение, чтобы свойство IsSelected каждого объекта устанавливалось в значение true, когда я нажимаю CTRL-A?

Ответы на вопрос(2)

Ваш ответ на вопрос