Listbox wird mit SelectionMode = Extended ausgewählt

Entschuldigung für den vagen Titel, ich konnte mir keinen guten Weg einfallen lassen, um zusammenzufassen, was passiert.

Ich habe eine gebundene WPF-Listbox:

<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>

Ich möchte NUR die ausgewählten Elemente bearbeiten. Ich durchlaufe dazu eine Liste aller Elemente und überprüfe jedes Objekt, um festzustellen, ob die IsSelected-Eigenschaft festgelegt ist.

Dies funktioniert nur, wenn ich viele Elemente in der Liste habe (genug, damit nicht alle sichtbar sind) und ich STRG-A drücke, um alle Elemente auszuwählen. Wenn ich das tue, haben alle sichtbaren Elemente ihre IsSelected-Eigenschaft auf true gesetzt und alle anderen bleiben auf false. Sobald ich nach unten scrolle, werden die anderen Elemente angezeigt und ihre IsSelected-Eigenschaften werden auf true gesetzt.

Gibt es eine Möglichkeit, dieses Verhalten zu beheben, sodass die IsSelected-Eigenschaft jedes Objekts auf true festgelegt wird, wenn ich STRG-A drücke?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage