2016-03-17 2 views
2

У меня есть кодВызов основного потока из задач в Windows Phone 8.1

async Task<String> RunAsync() 
{ 
    using(var client = new HttpClient()) 
    { 
     // Doing some Work without blocking UI. 
     // Here i want to call my main thread delegate function 
     del(jsonString); 
    } 
} 

Я хочу, чтобы вызвать функцию делегата в главном потоке. Я попробовал Диспетчер, но нет Диспетчерского класса. Как бы я сделать это в Windows Phone 8,1 SDk

+0

где находится строка json? клиент? –

+0

из web api, задача, которую я запускаю до функции del. Мне просто нужно вызвать функцию del (jsonstr) в основном потоке, потому что она будет содержать элементы интерфейса –

ответ

2

Вы можете получить доступ к диспетчеру CoreWindows из любого места в приложении, как так:

await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.High,() => { 

    //call main thread here 
}); 

Имейте в виду, что вызов основной поток занимает некоторое время (до половины секунды на моем Nokia Lumia 635). Так, если, например, если у вас есть петли, не используйте Dispatcher.RunAsync() на каждой итерации.

 Смежные вопросы

  • Нет связанных вопросов^_^