Estoy descubriendo una forma de Seleccionar varios elementos en la vista de lista y eliminarlos en una determinada acción. Lo que no puedo entender es, ¿cómo debo tener estos múltiples artículos seleccionados? Creo que hay una lista en la que necesitaría agregarlos todos, pero ¿cuál es la mejor manera de abordar esta situación? ¿Tiene alguna idea? Gracias! -KevinWPF ListView Selección de múltiples elementos de la Vista de lista
Respuesta
Conjunto SelectionMode-Multiple
o Extended
e iterar a través de la SelectedItems
en su ListView
.
Usted puede hacer una de las siguientes ...
ListView.SelectionMode = SelectionMode.Extended
de código subyacente o
<ListView SelectionMode="Extended"></ListView>
en XAML
también tiene SelectionMode 'múltiple' sin embargo, usted podría ir en lugar de ' extended 'que permite al usuario seleccionar múltiples elementos solo con el modificador de turno.
Para borrar los elementos seleccionados se puede utilizar el ListView.SelectedItems Propery de la siguiente manera
while(myListView.SelectedItems.Count > 0)
{
myListView.Items.Remove(list.SelectedItems[0]);
}
[o se puede utilizar la propiedad selectedIndices]
Hope esto evitará el problema que se ha encontrado :)
¡Salud!
Yo sugeriría no utilice la propiedad SelectedItems
de ListView
, en lugar enlazar la propiedad Selected
de la única ListViewItem
, a una clase ViewModel
correspondiente. Después de esto, lo único que debe hacer es encontrar todos los objetos ViewModel
que han vinculado la propiedad Selected
TRUE, eliminarlos de la colección de modelos (si los elimina) y actualizar la interfaz de usuario. Si la colección es ObservableCollection
, la interfaz de usuario se actualizará automáticamente. Buena suerte.
¿Podría explicarnos por qué no debe usar la propiedad 'SelectedItems'? –
porque complica el diseño y puede provocar errores. Si tiene una Propiedad seleccionada en cada objeto que está en ItemsSource, puede enlazar cada elemento muy fácilmente así: –
@NomanKhan debe ser ListViewItem no ListBoxItem; también no hay necesidad de BasedOn creo ... Pero un buen comentario, ¡me ayudó! –
Obtener el éxito también WPF listadas por escrito
while (lvJournalDetails.SelectedItems.Count > 0)
{
lvJournalDetails.Items.Remove(lvJournalDetails.SelectedItem);
}
Arcturus respuesta es buena si no estás usando MVVM. Pero si lo hace y su ItemsSource está vinculado a algunos objetos ObservableCollection de su ViewModel, recomendaría la respuesta de Tigran, con la aclaración de Noman Khan.
Esta es la forma en que se vería así:
<ListView ItemsSource="{Binding SomeListViewList}">
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="IsSelected" Value="{Binding SomeItemSelected, Mode=TwoWay}" />
</Style>
</ListView.Resources>
...
</ListView>
En vista de modelo que tendría objeto: public ObservableCollection<SomeItem> SomeListViewList{ get; set; }
SomeItem clase incluiría una propiedad seleccionada:
public class SomeItem
{
public string SomeItemName { get; set; }
public string SomeItemNum { get; set; }
public bool SomeItemSelected { get; set; }
}
entonces se podría iterar/ejecutar sobre la lista y obtener los que están seleccionados:
foreach (var item in SomeListViewList)
if (item.SomeItemSelected)
// do something
- 1. Animar elementos de la lista en ListView
- 2. lista de WPF arrastre sin anular la selección
- 3. WPF: ListView con vista de iconos?
- 4. Android: deshabilitar la selección de ListView
- 5. wpf lista vista arrastrar seleccionar varios elementos
- 6. Una sola selección en la lista vista
- 7. WPF ListView Mostrar siempre los elementos completos
- 8. Virtualización de Listview y anulación de la selección de todos los elementos
- 9. WPF - Vista de lista con el botón
- 10. Seleccionar múltiples elementos en ListView
- 11. Selección de múltiples elementos en caché
- 12. WPF Color de selección ListBox
- 13. WPF - Crear una vista de lista con iconos
- 14. selección de programación elementos/Índices en un cuadro de lista
- 15. WPF contextmenu y ListView
- 16. wpf listview perdió el foco
- 17. Selección de valores múltiples de la lista desplegable
- 18. evitar la selección de múltiples filas en WPF DataGrid
- 19. Cambiar color de selección de WPF ListViewItem
- 20. Cómo deshabilitar elementos en una Vista de lista?
- 21. WPF ListView: cómo agregar elementos mediante programación.
- 22. Linq elementos de selección que existen tanto en la lista
- 23. Mostrando la selección actual en una vista de lista
- 24. WPF ListBoxItem problema de selección
- 25. Cómo eliminar elementos de listview JQUERY mobile
- 26. Distancia entre elementos en una vista de lista
- 27. WPF - ocultar elementos del cuadro de lista
- 28. Lista de Android vista toda la lista siendo seleccionada
- 29. ¿Es posible implementar desplazamiento suave en una vista de lista de WPF?
- 30. WPF ListView ScrollBar visible a falso
Merece la pena señalar que 'SelectionMode.Multiple' no incluye la posibilidad de usar Shift + Click para seleccionar elementos consecutivos o Ctrl + A para seleccionar todo.Parece un error/supervisión. – Livven
Enlace roto - SelectedItems. –
¡Reparado! ¡¡Gracias!! – Arcturus