Я нахожусь в конце своего остроумия, пытаясь понять это. У меня есть опыт работы в WPF, но я никогда не видел ничего подобного.
У меня есть ListBox, который содержит выбираемые элементы ListBoxItems. Элементы в списке могут быть выбраны щелчком мыши или с помощью стрелок вверх / вниз. Я использую SelectionMode.Extended, поэтому мой список поддерживает несколько вариантов выбора.
Проблема: при нажатии на элемент в списке, затем при нажатии Shift на другом элементе выбирается правильный диапазон элементов, который вы ожидаете. К сожалению, использование стрелок вверх / вниз не работает должным образом - вместо этого выбранный диапазон всегда основывается на последнем элементе CLICKED, а не на элементе, который был выбран с помощью клавиш со стрелками.
Например:
[Item 1] <- Click this item
[Item 2] <- Use the down arrow to select this item
[Item 3] <- Shift-Click this item
Можно ожидать, что будут выбраны элементы 2 и 3. Вместо этого будут выбраны все элементы (1, 2 и 3).
Все свойства ListBox имеют правильные значения (т. Е. Использование клавиш со стрелками обновляет свойство SelectedItems), моя единственная проблема, похоже, заключается в том, как ListBox обрабатывает выделение Shift-Click внутри. Насколько я знаю, я считаю, что это связано с тем, что в ListBox «множественный выбор якоря» устанавливается щелчком мыши, но не с помощью клавиш со стрелками.
Кто-нибудь сталкивался и решал это раньше? Есть ли способ установить «множественный выбор якоря» вручную? Спасибо за вашу помощь!
Chris