如何从 C++ UWP App 中的线程访问 UI?

How to access UI from thread in C++ UWP App?

我有一个本机 C++ 多线程控制台应用程序。 我以最少的更改将此应用程序移植到 UWP 应用程序/ 现在我想将文本打印到 UI 中的文本框中,因为 UWP 应用程序中没有可用的控制台应用程序。

为此,我需要从线程访问文本框。

这是关于C++异步编程的,可以参考这个article.It describes the recommended way to consume asynchronous methods in Visual C++ and managing the thread context.You can populate text box within task::then method.On other hand, you can also use DispatchedHandler to access UI,please see this sample

在您的 TextBox(或您的页面,或您要访问的 UI 线程上的任何控件)上调用 Dispatcher->RunAsync,以便在相应的 UI 线程上执行您的代码:

myTextBox->Dispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::Normal,
    ref new Windows::UI::Core::DispatchedHandler ([this]
{
    myTextBox->Text = "Test";
}));