Wynajduję sposób, aby wybrać wiele elementów w widoku listy i usuwanie ich z określonej akcji. Czego nie mogę zrozumieć, to w jaki sposób mam wybrać te kilka elementów? Sądzę, że istnieje lista, w której muszę je wszystkie dodać, ale jaki jest najlepszy sposób podejścia do tej sytuacji, czy macie jakieś pomysły? Dzięki! -KevinListView WPF Wybór wielu widoków listy Widok
Odpowiedz
Set SelectionMode do Multiple
lub Extended
i iterację SelectedItems
w swojej ListView
.
Można wykonać jedną z następujących czynności ...
ListView.SelectionMode = SelectionMode.Extended
w kod z opóźnieniem lub
<ListView SelectionMode="Extended"></ListView>
w XAML
masz również „wielokrotny” selectionMode jeszcze można raczej pójść na ' rozszerzony ", który pozwala użytkownikowi wybrać wiele elementów tylko za pomocą modyfikatora przesunięcia.
Do usuwania wybranych elementów można użyć ListView.SelectedItems propery następująco
while(myListView.SelectedItems.Count > 0)
{
myListView.Items.Remove(list.SelectedItems[0]);
}
[czy można użyć właściwości selectedIndices]
nadzieję, że to pozwoli uniknąć problemu napotkane :)
Pozdrawiam!
proponuję nie używać własność ListView
SelectedItems
, zamiast wiązać własność pojedynczego ListViewItem
Selected
, do odpowiedniego ViewModel
klasie. Następnie jedyną rzeczą, którą musisz zrobić, to znaleźć cały obiekt ViewModel
, który związał właściwość PRAWDA Selected
, usunąć je z kolekcji modeli (jeśli ją usuniesz) i odświeżyć interfejs użytkownika. Jeśli kolekcja to ObservableCollection
, interfejs użytkownika zostanie odświeżony automatycznie. Powodzenia.
Czy możesz podać wszelkie powody, dla których nie powinieneś używać właściwości 'SelectedItems'? –
, ponieważ sprawia to, że projektowanie jest bardziej skomplikowane i może prowadzić do błędów. Jeśli masz wybraną właściwość dla każdego obiektu znajdującego się w ItemSource, możesz łatwo powiązać każdy element w następujący sposób: –
@NomanKhan Powinien być ListViewItem nie ListBoxItem; też nie potrzebuję BasedOn Myślę ... Ale dobry komentarz, pomógł mi! –
uzyskać sukces również WPF ListView pisząc
while (lvJournalDetails.SelectedItems.Count > 0)
{
lvJournalDetails.Items.Remove(lvJournalDetails.SelectedItem);
}
Arcturus odpowiedź jest dobra, jeśli nie używasz MVVM. Ale jeśli to zrobisz i twój ItemsSource jest powiązany z jakąś ObservableCollection obiektów w twoim ViewModelu, poleciłbym Tigran odpowiedź, z wyjaśnieniem Noman Khan.
To jak to będzie wyglądać:
<ListView ItemsSource="{Binding SomeListViewList}">
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="IsSelected" Value="{Binding SomeItemSelected, Mode=TwoWay}" />
</Style>
</ListView.Resources>
...
</ListView>
W widoku modelu trzeba obiektu: public ObservableCollection<SomeItem> SomeListViewList{ get; set; }
SomeItem Klasa obejmowałby wybranej właściwości:
public class SomeItem
{
public string SomeItemName { get; set; }
public string SomeItemNum { get; set; }
public bool SomeItemSelected { get; set; }
}
następnie można iteruj/uruchom listę i wybierz te, które są wybrane:
foreach (var item in SomeListViewList)
if (item.SomeItemSelected)
// do something
- 1. Widok listy WPF pusty tekst
- 2. Clear SingleChoice ListView Wybór
- 3. Wybór widoków niczym ratingbar
- 4. WPF ListView Scrollbars
- 5. Wypełnianie wielokąta listy widoków
- 6. Jak uzyskać wartości sprawdzonych wierszy listy Widok w WPF
- 7. Dynamic ListView w Android Studio: wybór elementu losowego i widok listy aktualizacji
- 8. Dynamicznie aktualizuj typy widoków ListView
- 9. Nakładka widok w widoku listy?
- 10. Jak wyświetlić ostatnio dodany element widoku listy w WPF ListView
- 11. Jak ustawić adapter w przypadku wielu odsłon na widok listy?
- 12. powiększana wysokość tytułu wyświetlania listy widoków listy?
- 13. utworzyć pojedynczy widok HTML dla wielu widoków częściowych w angularjs
- 14. Android: Zrób widok przewijania listview wraz z listview.
- 15. Widok siatki siatki ASP.NET a widok listy
- 16. Wypełnianie listy niestandardowych widoków przy użyciu ListFragment
- 17. WPF: ListView wewnątrz Scrollviewer; Pytanie układowe
- 18. Widok stronicowania Widok w WPF
- 19. Widok listy Przyciągnij do pozycji
- 20. Jak wyłączyć widok nagłówka w ListView
- 21. Wybór listy zatrzymania?
- 22. WPF: wielokolumnowy listbox/listview?
- 23. Niestandardowy widok listy dla AlertDialog
- 24. Android ListView zwyczaj powtarza wybór tła
- 25. WPF Datagrid Wybór wielokrotny bez CTRL lub spacji
- 26. Animowane elementy listy w ListView
- 27. Jak dodać wiele widoków nagłówka w ListView
- 28. Jak uzyskać widok elementu w widoku listy w systemie Android?
- 29. Wypełnij widok drzewa z listy ścieżek plików w wpf
- 30. Dodaj 2 listy widoków w szufladzie nawigacji, tylko jedna działa
Warto zauważyć, że 'SelectionMode.Multiple' nie zawiera możliwości użycia Shift + Kliknij, aby wybrać kolejne elementy lub Ctrl + A, aby wybrać wszystkie.Wygląda jak błąd/niedopatrzenie. – Livven
Przerwane łącze - wybrane pozycje. –
Naprawiono! Dzięki!! – Arcturus