0

我正在编写一个相当一致地执行多个套接字操作的应用程序,并且有一个类似于 javascript 范例( eventlistener.on(, ) / eventlistener.emit() )的事件消息传递系统。我从一个异步调用中输出一些调试信息,该调用附加了一个带有调试信息的 TextBlock xaml 元素。当我在异步函数之外发出相同的事件时,它工作正常。我已经用互斥体包装了我的事件 on/emit 调用,我认为这足以让我写入 TextBlock。

可视化事件过程:

[class]->listener->emit(<type>,<data>)->[Dispatcher]->[Listeners(<type>)]->lambda([class],<data>)

我对 WinRT 的异步函数和 Windows 8 UI/Metro/Modern 意识形态不够熟悉,不知道是否有一种特殊的方法可以让我从线程中附加 TextBlock,或者是否有更好的方法来解决这个问题。

简而言之,是否可以从异步函数中附加一个 Textblock,如果是这样,我需要做一些特别的事情吗?

4

1 回答 1

1

只要更新在 UI/调度程序线程上,就应该没有什么可以阻止您从异步函数更新 TextBlock。特定线程上的异步函数调用通常在同一线程上结束。

于 2013-01-30T20:01:50.460 回答