Не удалось получить выбранные элементы правильно, если установить ListView ItemsContainer как VirtualizationStackPanel
Я установил для VirtualizingStackPanel.IsVirtualizing значение true, а для параметра VirtualizingStackPanel.VirtualizationMode - значение «Переработка», поскольку элементов в моем ListView слишком много. SelectionMode объекта ListView расширен, свойство IsSelected объекта ListViewItem привязано к свойству IsSelected моей модели, режим связывания - двухсторонний.
Когда я хочу использовать Ctrl + A, чтобы выбрать все элементы, он выбирает только часть элементов, поэтому я использую KeyBinding, чтобы написать метод select all, как показано ниже:
<KeyBinding Command="{Binding SelectAllCommand}"
Modifiers="Control"
Key="A"/>
Метод SelectAll зацикливает коллекцию ItemsSource и устанавливает для каждого свойства IsSelected элемента значение true. Но это также приводит к чему-то неожиданному. Когда все элементы выбраны, я прокручиваю полосу прокрутки вниз, и она будет загружать больше элементов в ListView, я один раз щелкаю по одному элементу, и ожидается, что все остальные элементы не выбраны, выберите только этот элемент. Но, похоже, не отменять выбор других предметов.
Кто-нибудь может помочь?