Я реализовал некоторую логику, чтобы пользователь мог копировать выбранные значения из ListView в буфер обмена. Во время игры с ним я заметил, что ListView.SelectedItems возвращает элементы в различном порядке, в зависимости от того, как вы выбираете элементы shilft.
Для простоты, давайте предположим, что в моем Списке есть 5 элементов, каждый из которых содержит строку с одним номером в порядке возрастания, например первый элемент = "1", второй элемент = "2" и т. д.
Сценарий 1: Щелкните элемент 2, удерживайте нажатой клавишу shift, щелкните элемент 4 -> SelectedItems имеет ожидаемый порядок элементов "2,3,4".
Сценарий 2: Нажмите на элемент 4, удерживайте Shift, нажмите на элемент 2 -> SelectedItems имеет неожиданный порядок элементов "4,2,3".
Я что-то упускаю здесь очень просто? Если я выбираю диапазон с помощью сдвига «снизу вверх», первый нажатый элемент перемещается в первую позицию SelectedItems, а затем в правильном порядке следуют за всеми остальными.
Заметил ли ListView, что ранее выбранный элемент также находится в пределах диапазона? Так сказать, помня об этом, оставив его на первой позиции в SelectedItems и просто «добавив» все оставшиеся элементы? Меня не беспокоило бы, если бы вы только смещали-выбирали сверху вниз, но наоборот все портило порядок ...: /
Любая помощь / идея приветствуется!