Ответ 1
Вы просто хотите использовать метод Dispatcher.Invoke
(или асинхронный эквивалент Dispatcher.BeginInvoke
), который будет маршировать вызов на главный WPF-интерфейс.
Класс DependencyObject
содержит свойство Dispatcher
, что означает, что все элементы управления и другие объекты, которые наследуются от этого класса, также предоставляют это свойство, аналогично WinForms. Кроме того, объект Application
обеспечивает доступ к диспетчеру.
Пример использования может быть следующим (в кодировке Window
/UserControl
):
this.Dispatcher.Invoke((Action)(() =>
{
...
}));