powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Не обновляется ListBox.ItemSource
7 сообщений из 7, страница 1 из 1
Не обновляется ListBox.ItemSource
    #37085140
Max89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть класс, в котором одни свойства, 5 штук. Также создается статический List<MyClass> myList. При нажатии кнопки происходит создание и заполнение MyClass, которые затем добавляются в myList. Затем пишу такой код:
Код: plaintext
1.
ListBox1.ItemSource = myList;

Проблема в том, что заполнение ListBox1 происходит только один раз, хотя через отладчик смотрю, myList имеет новые значения. Почему такое происходит?
Пробовал гуглить, как я понял надо реализовывать ObservableCollection. Если можно простой пример какой нибудь.

PS. Два дня в WPF.
...
Рейтинг: 0 / 0
Не обновляется ListBox.ItemSource
    #37085158
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо
Также создается статический List<MyClass> myList. При нажатии кнопки происходит создание и заполнение MyClass, которые затем добавляются в myList
делать

создается статический ObservableCollection <MyClass> myList. При нажатии кнопки происходит создание и заполнение MyClass, которые затем добавляются в myList
...
Рейтинг: 0 / 0
Не обновляется ListBox.ItemSource
    #37085194
Max89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вестник,

проверить не могу, у меня метод где происходит изменение коллекции выполняется в отдельном потоке, поэтому выбрасывается исключение:
"Данный тип CollectionView не поддерживает изменения в своем SourceCollection из потока, отличного от потока Dispatcher."
...
Рейтинг: 0 / 0
Не обновляется ListBox.ItemSource
    #37085322
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max89,

А вы как хотели? Из другого потока обновлять GUI? А-та-та *машет пальцем*.
Делайте Application.Current.Dispather.BeginInvoke и в вызвном методе через инвоке добавляйте итемы в OC.
...
Рейтинг: 0 / 0
Не обновляется ListBox.ItemSource
    #37086089
Max89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Руки-крюки,

ага, понял.... сейчас можно сказать работает, спасибо.

Есть еще один вопрос, что не создавать новую тему:
У меня вызывается метод, асинхронно, из интернета берутся данные, затем происходит присваивание этих данных ListBox, примерно так:
Код: plaintext
1.
2.
3.
4.
5.
priavte void Method()
{
    GetData(); // происходит  заполнение экземпляра ObservableCollection (myList), данные из интернета.
    ListBox.ItemSource = myList;
}

Так как данные берутся из интернета,и это происходит асинхронно, то не все данные успевают скачаться, соответственно у меня ListBox отображает не все данные. Как это можно исправить?
...
Рейтинг: 0 / 0
Не обновляется ListBox.ItemSource
    #37086536
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max89,

Заполнять лист бокс по окончанию асинхроного метода.
...
Рейтинг: 0 / 0
Не обновляется ListBox.ItemSource
    #37095677
KirillMedvedev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max89Так как данные берутся из интернета,и это происходит асинхронно, то не все данные успевают скачаться, соответственно у меня ListBox отображает не все данные. Как это можно исправить?
Завести на вьюху ViewModel, и через Dispatcher.BeginInvoke(someAction) добавлять в ObservableCollection айтемы, которые пришли из сервера (предварительно забиндив ListBox.ItemsSource на этот ObservableCollection вo ViewModel).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Не обновляется ListBox.ItemSource
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]