Как создать задачу (TPL), выполняющую поток STA?

Использование потока довольно просто

 Thread thread = new Thread(MethodWhichRequiresSTA);
 thread.SetApartmentState(ApartmentState.STA);  

Как сделать то же самое с помощью задач в приложении WPF? Вот код:

Task.Factory.StartNew
  (
    () => 
    {return "some Text";}
  )
   .ContinueWith(r => AddControlsToGrid(r.Result));  

Я получаю исключение InvalidOperationException с

. Вызывающий поток должен быть STA, потому что этого требуют многие компоненты пользовательского интерфейса.

72
задан Gennady Vanin Геннадий Ванин 5 April 2013 в 12:43
поделиться