Ich habe eine CollectionView, die an die ListView ItemsSource-Eigenschaft gebunden ist.Ruft den Index des ausgewählten CollectionView-Elements aus der zugrunde liegenden ObservableCollection-Quelle ab
<ListView x:Name="ExampleView"
ItemsSource="{Binding CollectionView}"
IsSynchronizedWithCurrentItem="True">...</ListView>
Ist es möglich, den Index eines Artikels aus der CollectionViewSource zu erhalten?
CollectionViewSource.GetDefaultView(ObservableCollection);
Unten habe ich das Problem illustriert.
Wenn Element C aus der CollectionView ausgewählt ist, möchte ich einen Indexwert von 2 und nicht 0 erhalten. Ist das möglich?
Jede Hilfe wird sehr geschätzt. Vielen Dank!
Ich bin eine int-Eigenschaft an ListBox.SelectedItem gebunden, das Problem ist, dass es mir den gleichen Wert wie die CollectionView gibt. Ihre Lösung ist sicherlich eine Option, aber wäre das nicht inhärent langsam, wenn ich viele Elemente habe, da es durch alle Elemente iterieren muss, um das richtige zu finden? – HaloMediaz
@HaloMediaz Das stimmt. Wenn sie sortiert sind, könnten Sie effizient suchen, aber das ist natürlich ein großes "Wenn". Wechseln die Gegenstände oft? –
Nein. Ich rufe die CollectionView-Funktion auf, wenn sich der Text eines Textfelds ändert. Dies geschieht nur, wenn der Benutzer über dieses Textfeld sucht. Ich muss das Element nur abrufen, wenn der Benutzer es aus dem Suchfeld auswählt. Ich habe meinen Bildschirm von dem, worüber ich rede, aufgezeichnet: https://imgur.com/ctgPIQv – HaloMediaz