Используйте [Dispatcher.Invoke (DispatcherPriority, Delegate)] для изменения пользовательского интерфейса из другого потока или из фона.
Шаг 1. Используйте следующие пространства имен
using System.Windows;
using System.Threading;
using System.Windows.Threading;
Шаг 2. Поместите следующую строку, где вам нужно обновить UI
Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate
{
//Update UI here
}));
Синтаксис
[BrowsableAttribute(false)] public object Invoke( DispatcherPriority priority, Delegate method )
Параметры
priority
Тип:
System.Windows.Threading.DispatcherPriority
Приоритет относительно других ожидающих операций в очереди событий диспетчера вызывает указанный метод.
]
method
Тип:
System.Delegate
Делегат метода, который не принимает аргументов, который помещается в очередь событий диспетчера.
Возврат Значение
Тип:
System.Object
Возвращаемое значение вызываемого делегата или null, если у делегата нет возвращаемого значения.
Информация о версии
Доступно с .NET Framework 3.0
blockquote>