Я выясняю способ выбора нескольких элементов в виде списка и их удаления при определенном действии. Что я не могу понять, как мне выбрать эти несколько элементов? Я бы подумал, что есть список, который мне нужно будет добавить в него, но как лучше всего подойти к этой ситуации, есть ли у вас какие-либо идеи? Спасибо! КевинWPF ListView Выбор нескольких объектов просмотра списка
ответ
Набор SelectionMode для Multiple
или Extended
и перебирать SelectedItems
в вашем ListView
.
Вы можете сделать одно из следующих действий ...
ListView.SelectionMode = SelectionMode.Extended
в код-сзади или
<ListView SelectionMode="Extended"></ListView>
в XAML
вы также «несколько» SelectionMode еще можно скорее пойти на " extended ', который позволяет пользователю выбирать несколько элементов только с помощью модификатора сдвига.
Для удаления элементов, выбранных можно использовать ListView.SelectedItems Собственость следующим
while(myListView.SelectedItems.Count > 0)
{
myListView.Items.Remove(list.SelectedItems[0]);
}
[или вы могли бы использовать свойство SelectedIndices]
Надежда это позволит избежать проблем с которой вы столкнулись :)
Приветствия!
Я хотел бы предложить не использовать SelectedItems
свойства ListView
, вместо того, чтобы связать Selected
свойства одного ListViewItem
, к соответствующим ViewModel
классу. После этого единственное, что вам нужно сделать, это найти все объекты ViewModel
, которые связали свойство Selected
TRUE, удалить их из коллекции моделей (если вы удалили) и обновить интерфейс. Если коллекция ObservableCollection
, пользовательский интерфейс будет обновлен автоматически. Удачи.
Не могли бы вы объяснить, почему вы не должны использовать свойство 'SelectedItems'? –
, потому что он делает дизайн более сложным и может привести к ошибкам. Если у вас есть выбранное свойство для каждого объекта, находящегося в элементе ItemsSource, вы можете легко связать каждый элемент следующим образом: –
@NomanKhan Должен быть ListViewItem не ListBoxItem; тоже не нужно для BasedOn, я думаю ... Но хороший комментарий, помог мне! –
Получить успех и WPF ListView написав
while (lvJournalDetails.SelectedItems.Count > 0)
{
lvJournalDetails.Items.Remove(lvJournalDetails.SelectedItem);
}
Арктур ответ хорош, если вы не используете MVVM. Но если вы это сделаете, а ваш ItemsSource привязан к некоторому ObservableCollection объектов в вашей ViewModel, я бы порекомендовал Tigran ответить с разъяснением Номана Хана.
Вот как это будет выглядеть так:
<ListView ItemsSource="{Binding SomeListViewList}">
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="IsSelected" Value="{Binding SomeItemSelected, Mode=TwoWay}" />
</Style>
</ListView.Resources>
...
</ListView>
В Модельное вы бы объект: public ObservableCollection<SomeItem> SomeListViewList{ get; set; }
SomeItem Class будет включать выбранное свойство:
public class SomeItem
{
public string SomeItemName { get; set; }
public string SomeItemNum { get; set; }
public bool SomeItemSelected { get; set; }
}
Тогда вы могли бы итерации/запуска по списку и получения тех, которые выбраны:
foreach (var item in SomeListViewList)
if (item.SomeItemSelected)
// do something
- 1. Переплет списка объектов в WPF ListView
- 2. WPF ListView отключить выбор
- 3. Кнопка просмотра списка WPF, выбрав пункт
- 4. Перетаскивание списка просмотра WPF без отмены выбора
- 5. wpf DrawingVisual - выбор объектов
- 6. WPF ListView прокрутка из модели просмотра
- 7. Выбор нескольких частей списка
- 8. Выбор нескольких элементов из ListView
- 9. Выбор нескольких элементов в ListView
- 10. WPF ListView выбор по фокусу потерял
- 11. Событие выбора элемента списка просмотра Wpf
- 12. WPF - предотвращение потери списка ListView
- 13. jQuery и выбор объектов следующих объектов списка
- 14. Индивидуальные ListView: Множественный выбор Элемент списка
- 15. Выбор нескольких объектов из списка с помощью LINQ
- 16. Выбор нескольких объектов в tableview
- 17. Раздувание нескольких макетов в режиме просмотра списка?
- 18. Выбор элементов из нескольких списков ListView - android
- 19. Создание режима просмотра значков для ListView WPF
- 20. Android - Три списка просмотра одного фрагмента; First Listview контролирует другие два; Выделите первый выбор Listview
- 21. Выбор нескольких позиций из списка
- 22. Программный выбор элементов в WPF ListView
- 23. WPF Listview - выбор элементов вне 'поля зрения'
- 24. ListView Выбор дочернего элемента вызывает выделение
- 25. ListView с помощью пользовательского адаптера просмотра списка
- 26. Создание нескольких объектов из списка
- 27. Вытягивание списка нескольких объектов ActiveRecord
- 28. Доступ к элементу списка просмотра
- 29. Android ListView и ребенок выбор
- 30. Элемент списка ListView не проверяет выбор
Стоит отметить, что 'SelectionMode.Multiple' не включает в себя возможность использования Shift + Нажмите, чтобы выбрать последовательные элементы или Ctrl + A, чтобы выбрать все.Похоже на ошибку/недосмотр. – Livven
Неисправна ссылка - SelectedItems. –
Исправлено! Благодаря!! – Arcturus