WPF ListView Liste Auswählen Mehrerer Elemente Anzeigen
Bin ich, herauszufinden, einen Weg, um Mehrere Elemente Auszuwählen, die in der Listen-Ansicht und löschen Sie Sie auf eine bestimmte Aktion.
Was ich nicht herausfinden kann, ist, wie sollte ich diese mehrere Elemente ausgewählt? Ich würde denken, es ist eine Liste, die ich brauchen würde, um Sie alle hinzuzufügen, aber was ist der beste Weg, diese situation, haben Sie irgendwelche Ideen?
Danke!
-Kevin
InformationsquelleAutor Kevin | 2010-02-17
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Set SelectionMode zu
Multiple
oderExtended
und Durchlaufen dieSelectedItems
in IhremListView
.SelectionMode.Multiple
beinhaltet nicht die Fähigkeit, verwenden Sie Umschalttaste+Klicken wählen Sie mehrere aufeinander folgende Elemente oder Strg+A um alle zu markieren. Scheint ein Fehler/versehen.Broken-link - SelectedItems.
Behoben! Danke!!
InformationsquelleAutor Arcturus
Ich würde vorschlagen, verwenden Sie nicht die
SelectedItems
Eigenschaft vonListView
statt binden dieSelected
Eigentum der einzelnenListViewItem
, um eine entsprechendeViewModel
Klasse. Nach dieser, die einzige Sache, die Sie tun müssen, ist zu finden, alleViewModel
Objekt gebunden haben dieSelected
- Eigenschaft TRUE ist, entfernen Sie Sie aus dem Modell-Sammlung (wenn Sie entfernen) und UI aktualisieren. Wenn die Sammlung istObservableCollection
, das UI wird automatisch aktualisiert.Viel Glück.
SelectedItems
Eigenschaft?da macht es mehr kompliziert, und das führt möglicherweise zu Fehlern. Wenn Sie eine Ausgewählte Eigenschaft für jedes Objekt, das in der ItemsSource-Sie können binden Sie jeden Artikel sehr leicht auf, wie diese: <Style TargetType="{x:Typ ListBoxItem}" BasedOn="{StaticResource {x:Typ ListBoxItem}}"> <Setter Property="IsSelected" Value="{Binding Ausgewählt ist, Mode=TwoWay}" /> </Style>
Sollte ListViewItem nicht ListBoxItem; auch keine Notwendigkeit für BasedOn denke ich... Aber guter Kommentar, hat mir geholfen!
InformationsquelleAutor Tigran
Können Sie eine der folgenden...
ListView.SelectionMode = SelectionMode.Extended
im code-behind oder<ListView SelectionMode="Extended"></ListView>
im XAML -haben Sie auch 'mehrere' selectionMode doch Sie könnte eher auf 'erweitert', die dem Benutzer ermöglicht, zum auswählen mehrerer Elemente, die nur mit shift modifier.
Zum löschen der ausgewählten Elemente können Sie mit der ListView.SelectedItems Anwesen wie folgt
[oder verwenden Sie die SelectedIndices-Eigenschaft]
Hoffe, das wird vermeiden das Problem, das Sie gestoßen 🙂
Prost!
InformationsquelleAutor Amsakanna
Arcturus Antwort ist gut, wenn Sie nicht mit MVVM. Aber wenn Sie das tun und Ihre ItemsSource gebunden ist, um einige ObservableCollection von Objekten in der ViewModel, ich würde empfehlen, Tigran Antwort, mit Noman Khan Klärung.
Dies ist, wie es Aussehen würde:
Im View-Modell, das Sie haben würden, Objekt:
public ObservableCollection<SomeItem> SomeListViewList{ get; set; }
SomeItem Klasse enthalten eine Ausgewählte Eigenschaft:
Dann könnte man iterieren/laufen über die Liste und bekommen diejenigen, die ausgewählt sind:
InformationsquelleAutor David Refaeli
Erfolg auch WPF listview schreiben
InformationsquelleAutor Refat Sardar