Я пишу приложение, которое выполняет несколько операций с сокетами достаточно согласованно и имеет систему обмена сообщениями о событиях, похожую на парадигму javascript (eventlistener.on (,) / eventlistener.emit ()). Я выводил некоторую отладочную информацию из асинхронного вызова, который добавляет элемент TextBlock xaml с отладочной информацией. Когда я излучаю то же самое событие вне асинхронной функции, оно работает нормально. Я обернул свое событие на / испустить вызовы с мьютексами, что, как я предполагал, было бы достаточно для записи в TextBlock.
Чтобы визуализировать процесс события:
[Класс] -> listener-> Испустите (< тип>,< данные>) -> [Диспетчер] -> [Слушатели (< тип>)] -> лямбда ([класс],< данные>)
Я недостаточно знаком с асинхронными функциями WinRT и идеями пользовательского интерфейса Windows 8 / Metro / Modern, чтобы знать, есть ли для меня особый способ добавления TextBlock из потока или есть ли лучший способ сделать это.
Короче говоря, возможно ли добавить текстовый блок из асинхронной функции, и если да, нужно ли мне делать что-то особенное?
Ничто не должно мешать вам обновлять TextBlock с помощью асинхронной функции, если обновление выполняется в потоке пользовательского интерфейса / диспетчера. Вызовы асинхронной функции в определенном потоке обычно заканчиваются в том же потоке.
Других решений пока нет …