Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление элементов в ListBox и обновление экрана / 6 сообщений из 6, страница 1 из 1
27.11.2015, 18:09
    #39115151
AVP87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ListBox и обновление экрана
Здравствуйте!
В окне расположен ListBox, в который добавляются элементы ListBoxItem в цикле при выполнении определённой опреации. При этом окно зависает и ListBox не обновляется. Как сделать так, чтобы при обновлении каждой записи в цикле обновлялся ListBox?
...
Рейтинг: 0 / 0
27.11.2015, 18:23
    #39115168
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ListBox и обновление экрана
Выполнять цикл в отдельном потоке.
...
Рейтинг: 0 / 0
28.11.2015, 03:01
    #39115292
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ListBox и обновление экрана
AVP87,

Я использую вот такой метод.

http://odotnet.ru/ms-caliburn-micro-part-1-getting-started/
...
Рейтинг: 0 / 0
03.12.2015, 10:51
    #39119115
AVP87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ListBox и обновление экрана
Спасибо за советы, сделал в отдельном потоке цикл. не понял каким боком тут калибурн.
Единственное, чтобы не возникало проблем с обращением из другого потока, нужно пользоваться диспатчером
Код: c#
1.
2.
3.
4.
5.
6.
listBox.Dispatcher.BeginInvoke(new Action(delegate()
{
   ListBoxItem item = new ListBoxItem();
   item.Content = message;
   ....
}
...
Рейтинг: 0 / 0
03.12.2015, 12:35
    #39119306
MrVoid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ListBox и обновление экрана
AVP87,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private void UpdateUI()
{

	Action<ListBoxItem> action = listBox => lst.Items.Add(listBox);

	foreach(var str in new[] { "1","2", "3" })
	{
		action(new ListBoxItem { Content = str });
	}

}
...
Рейтинг: 0 / 0
03.12.2015, 12:47
    #39119323
MrVoid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ListBox и обновление экрана
AVP87,

Сорри, чёи не то написал
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private void UpdateUI()
{

	Action<string> action = str => lst.Items.Add(new ListBoxItem { Content = str });

	foreach (var str in new[] { "1", "2", "3" })
	{
		Dispatcher.Invoke(action, str);
	}

}
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление элементов в ListBox и обновление экрана / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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