Je suis en train de trouver un moyen de sélectionner plusieurs éléments dans la vue liste et de les supprimer sur une certaine action. Ce que je n'arrive pas à comprendre, c'est comment dois-je sélectionner ces éléments multiples? Je pense qu'il y a une liste à laquelle je devrais ajouter tous, mais quelle est la meilleure façon d'aborder cette situation, avez-vous des idées? Merci! -KevinWPF ListView Sélection de plusieurs éléments d'affichage de liste
Répondre
Set SelectionMode-Multiple
ou Extended
et itérer l'SelectedItems
dans votre ListView
.
Vous pouvez faire une des options suivantes ...
ListView.SelectionMode = SelectionMode.Extended
dans le code-behind ou
<ListView SelectionMode="Extended"></ListView>
en XAML
vous avez également 'multiple' selectionMode mais vous pouvez aller plutôt pour ' étendu 'qui permet à l'utilisateur de sélectionner plusieurs éléments uniquement en utilisant le modificateur de décalage.
Pour supprimer les éléments sélectionnés, vous pouvez utiliser le ListView.SelectedItems Propery comme suit
while(myListView.SelectedItems.Count > 0)
{
myListView.Items.Remove(list.SelectedItems[0]);
}
[ou vous pouvez utiliser la propriété selectedIndices]
Hope cela évitera le problème que vous rencontrez :)
À la votre!
Je suggère de ne pas utiliser la propriété SelectedItems
de ListView
, lier plutôt la propriété Selected
du seul ListViewItem
, à une classe ViewModel
correspondante. Après cela, la seule chose que vous devez faire est de trouver tous les objets ViewModel
qui ont lié la propriété Selected
TRUE, les retirer de la collection de modèles (si vous supprimez) et rafraîchir l'interface utilisateur. Si la collection est ObservableCollection
, l'interface utilisateur sera actualisée automatiquement. Bonne chance.
Pourriez-vous fournir des raisons pour lesquelles vous ne devriez pas utiliser la propriété 'SelectedItems'? –
car cela rend le design plus compliqué et peut conduire à des bugs. Si vous avez une propriété sélectionnée sur chaque objet qui est dans le ItemsSource vous pouvez lier chaque élément très facilement comme ceci: –
@NomanKhan Devrait être ListViewItem non ListBoxItem; aussi pas besoin de BasedOn je pense ... Mais bon commentaire, m'a aidé! –
obtenir le succès aussi WPF ListView en écrivant
while (lvJournalDetails.SelectedItems.Count > 0)
{
lvJournalDetails.Items.Remove(lvJournalDetails.SelectedItem);
}
Arcturus réponse est bonne si vous ne l'utilisez MVVM. Mais si vous le faites et que votre ItemsSource est lié à une collection ObservableCollection d'objets dans votre ViewModel, je recommanderais Tigran answer, avec la clarification de Noman Khan.
Voici comment cela ressemblerait à ceci:
<ListView ItemsSource="{Binding SomeListViewList}">
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="IsSelected" Value="{Binding SomeItemSelected, Mode=TwoWay}" />
</Style>
</ListView.Resources>
...
</ListView>
Dans la vue modèle que vous auriez objet: public ObservableCollection<SomeItem> SomeListViewList{ get; set; }
SomeItem classe comprendrait une propriété sélectionnée:
public class SomeItem
{
public string SomeItemName { get; set; }
public string SomeItemNum { get; set; }
public bool SomeItemSelected { get; set; }
}
Ensuite, vous pouvez parcourir/parcourir la liste et obtenir ceux qui sont sélectionnés:
foreach (var item in SomeListViewList)
if (item.SomeItemSelected)
// do something
- 1. Sélection de plusieurs éléments dans ListView
- 2. Sélection de tous les éléments après la liaison WPF ListView
- 3. WPF - Style de sélection ListView
- 4. Problème de sélection de la liste WPF
- 5. couleur de sélection Listview
- 6. Liste de liaison d'objets à WPF ListView
- 7. Sélection de plusieurs éléments dans un ListBox
- 8. Définir les éléments de liste à croître à la largeur de la liste contenant ListView - WPF
- 9. Problème lors de l'utilisation de plusieurs éléments dans le ListView
- 10. Android: éléments ListView avec plusieurs boutons cliquables
- 11. Sélection de plusieurs éléments avec jQuery Sortable()?
- 12. Sélection de plusieurs éléments mis en cache
- 13. WPF: éléments ListView sélectionnés après l'affichage d'une boîte de dialogue
- 14. Problème lors de la sélection de plusieurs éléments dans Listbox.SelectionMode
- 15. WPF: lier ListView avec plusieurs sources
- 16. Performances de la vue liste WPF - éléments statiques et éléments de la base de données
- 17. Comportement de sélection Strange ListView sur Android
- 18. Réorganiser les éléments listview
- 19. WPF parcourir des éléments dans une vue de liste
- 20. WPF - ListView within listView Problème de la barre de défilement
- 21. Sélection de plusieurs éléments par défaut dans sfWidgetFormDoctrineChoice (symfony)
- 22. android sélectionnez plusieurs éléments dans ListView?
- 23. question de sélection ListView ou TreeView
- 24. faire glisser plusieurs éléments de liste simultanément
- 25. Listview de plusieurs tables?
- 26. WPF problème de sélection ListBoxItem
- 27. Performances jQuery lors de la sélection de plusieurs éléments
- 28. Afficher les éléments de la liste dans ListView
- 29. Éléments de liste multiligne sur le contrôle WinForms ListView?
- 30. Comment limiter l'affichage des éléments de liste dans ListView
À noter que 'SelectionMode.Multiple' n'inclut pas la possibilité d'utiliser Shift + Click pour sélectionner des éléments consécutifs ou Ctrl + A pour tout sélectionner.On dirait un bug/oubli. – Livven
Lien rompu - SelectedItems. –
Fixe! Merci!! – Arcturus