我知道WPF中多线程的基本构建块,但我确实有一个问题让我很困惑。
WPF应用程序从两个线程开始:
一个用于处理呈现,另一个用于管理UI。
这听起来不错,但UI线程正在困扰我,UI线程只不过是一个应用程序线程
创建WPF UI元素的线程拥有这些元素,其他线程不能直接与UI元素交互,这称为线程关联。
比方说,我在Myapplication中有两个文本框和一个按钮,每个文本框都有自己的DispatcherObject,单击按钮,我将用值更新textbox,希望这将由UI线程完成。
1.现在,我的问题是UI线程是应用程序线程,Button将有自己的DispatcherObject,和两个文本框将有自己的DispatcherObject和不同于这些UI控件的UI线程如何更新文本框?
请纠正我的理解,我不能再继续下去了。
发布于 2015-06-14 11:21:05
每个DispatcherObject都与一个UI线程关联。只有该线程才能访问特定的DispatcherObject。在一个架构良好的WPF应用程序中,只有一个UI线程。在那里创建和访问所有元素。
您可以有多个具有不同元素集的UI线程,但这将是一个复杂的场景,会带来许多问题。
如果在后台线程中创建新的文本框
该文本框将绑定到后台线程,并且只能在那里使用。因此,无法将其连接到主元素树中。那就没用了。
https://stackoverflow.com/questions/30828637
复制相似问题