Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Множественный выбор в ListBox


Автор: Brilona 8.8.2011, 16:11
Есть ListBox с SelectionMode="Multiple". Нужно чтобы при нажатии на item вместе с ним выделялись item'ы, идущие в списке до него.
Например, имеем список:
"один", "два", "три", "четыре", "пять".
Если нажмем "три", то выделиться должны "один", "два", "три".

Пробовала так:
Код

        private void listBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ListBox lb = sender as ListBox;
            for (int i = lb.SelectedIndex-1; i>=0; i--)
            {
                lb.SelectedItems.Add(lb.Items[i]);
            }
        }


Ругается:
Cannot change ObservableCollection during a CollectionChanged or PropertyChanged event.

Подскажите идеи как можно реализовать нужное поведение smile

Автор: Gvozdin 9.8.2011, 14:17
Если нельзя менять ObservableCollection в момент нотификации о её изменении smile
То запусти этот код в this.Dispatcher.BeginInvoke с приоритетом Send(или более низким если будут проблемы)

Автор: Brilona 9.8.2011, 15:31
Спасибо! Не ругается smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)