我有一个原生的C ++多线程控制台应用程序。 我将此应用程序移植到UWP应用程序中,只需更改/ 现在我想在UI中将文本打印到文本框中,因为UWP应用程序中没有可用的控制台应用程序。
为此,我需要从一个帖子访问一个文本框。
答案 0 :(得分:1)
在TextBox(或您的页面,或您要访问的UI线程上的任何控件)上调用Dispatcher-> RunAsync,以便在相应的UI线程上执行代码:
myTextBox->Dispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::Normal,
ref new Windows::UI::Core::DispatchedHandler ([this]
{
myTextBox->Text = "Test";
}));
答案 1 :(得分:0)
这是关于C ++中的异步编程。您可以参考这个article。它描述了在Visual C ++中使用异步方法和管理线程上下文的推荐方法。您可以在 <中填充文本框em> task :: then 方法。另一方面,您也可以使用DispatchedHandler来访问用户界面,请参阅此sample。