У меня есть список информации. Каждая из этих сведений должна находиться в пользовательском элементе управления. Создание пользовательского элемента управления занимает много времени. Пользовательский интерфейс зависает, поэтому я использовал Task.Delay.ContinuWith ()
(Для обновления пользовательского интерфейса последобавление любого элемента)
Но есть проблема, информация не отображается в последовательности
Dispatcher.Invoke(new Action(() =>
{
waterfallFlow.Children.Clear();
var parsedValues = doc.DocumentNode.SelectNodes(...).Skip(1)
.Select(r =>
{...}).ToList();
foreach (var item in parsedValues)
{
Task.Delay(200).ContinueWith(ctx =>
{
waterfallFlow.Children.Add(_currentUser);
waterfallFlow.Refresh();
}, TaskScheduler.FromCurrentSynchronizationContext());
}
}
}), DispatcherPriority.ContextIdle, null);
Вывод:
ID |Имя |
10 |Али
9 |Хади
1 |Хасан
15 |kajsd
...
Но информацию следует получать следующим образом
ID |Имя |
1 |Хасан
2 |объявление
2 |объявление
3 |объявление
...