Использование Thread довольно просто
Thread thread = new Thread(MethodWhichRequiresSTA);
thread.SetApartmentState(ApartmentState.STA);
Как выполнить то же самое с помощью задач в приложении WPF? Вот какой код:
Task.Factory.StartNew
(
() =>
{return "some Text";}
)
.ContinueWith(r => AddControlsToGrid(r.Result));
Я получаю InvalidOperationException с
Вызывающий поток должен быть STA, потому что для этого требуются многие компоненты пользовательского интерфейса.