Как получить значение индекса расширенного режима выбора WPF ListBox? - PullRequest
0 голосов
/ 31 августа 2011

Я использую наблюдаемую коллекцию для хранения всех файлов, перетаскиваемых в элемент управления ListBox, и привязываю коллекцию к источнику элементов, теперь я использую расширенный режим выделения, поэтому я могу выбрать более одного элемента в ListBox, моя проблемаесли я выбрал в качестве примера индексы 0, 4 и 7, как я могу вывести эти значения в массив?

1 Ответ

0 голосов
/ 31 августа 2011

Поскольку невозможно связать свойство SelectedItems элемента управления ListBox, вам необходимо следить за этим в бэкэнде (либо ViewModel, либо код-позади).

В зависимости от того, когда вы хотите, чтобы это произошло, будет зависеть от вашего подхода.

Если вы хотите, чтобы индексы обновлялись OnSelectionChanged, вам нужно будет перехватить это событие либо с помощью обработчика событий, либо с помощью подхода AttachedCommandBehaviour.

Чтобы получить индексы (индекс коллекции, не обязательно отображать индекс), вы затем выполните цикл по коллекции SelectedItems и получите значение IndexOf из коллекции ItemsSource (в вашем случае ObservableCollection).

Если ваш список был отсортирован после установки ItemsSource, возможно, вам потребуется другой подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...