首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF多线程是如何工作的?

WPF多线程是如何工作的?
EN

Stack Overflow用户
提问于 2015-06-14 11:07:58
回答 1查看 263关注 0票数 4

我知道WPF中多线程的基本构建块,但我确实有一个问题让我很困惑。

WPF应用程序从两个线程开始:

一个用于处理呈现,另一个用于管理UI。

这听起来不错,但UI线程正在困扰我,UI线程只不过是一个应用程序线程

创建WPF UI元素的线程拥有这些元素,其他线程不能直接与UI元素交互,这称为线程关联。

比方说,我在Myapplication中有两个文本框和一个按钮,每个文本框都有自己的DispatcherObject,单击按钮,我将用值更新textbox,希望这将由UI线程完成。

1.现在,我的问题是UI线程是应用程序线程,Button将有自己的DispatcherObject,和两个文本框将有自己的DispatcherObject和不同于这些UI控件的UI线程如何更新文本框?

  1. 我的另一个问题是,如果在后台线程中创建新的文本框,那么我可以从UI线程中更新这个文本框吗?

请纠正我的理解,我不能再继续下去了。

EN

回答 1

Stack Overflow用户

发布于 2015-06-14 11:21:05

每个DispatcherObject都与一个UI线程关联。只有该线程才能访问特定的DispatcherObject。在一个架构良好的WPF应用程序中,只有一个UI线程。在那里创建和访问所有元素。

您可以有多个具有不同元素集的UI线程,但这将是一个复杂的场景,会带来许多问题。

如果在后台线程中创建新的文本框

该文本框将绑定到后台线程,并且只能在那里使用。因此,无法将其连接到主元素树中。那就没用了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30828637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档