将ui元素从C#中的另一个线程分配给另一个ui元素

时间:2017-04-27 17:54:57

标签: c# wpf multithreading dispatcher

我想用c#代码以编程方式在wpf中创建一个grid元素,因为它需要一个巨大的处理我使用了一个线程。当我想分配它时,visual studio说:

  

“调用线程无法访问此对象,因为它不同   线程拥有它。“

我的代码是这样的:

PrepareGrid

getGrid是一个准备网格的类,其GridContainer方法返回结果网格,Task是WPF滚动查看器

我使用嵌套调度程序,但它不起作用

为什么我不能将Thread用于wpf元素?制作网格的过程非常庞大,Error: Module parse failed: /Users/me/myproject/app/fonts/glyphicons-halflings-regular.eot Unexpected character '�' (1:0) You may need an appropriate loader to handle this file type. (Source code omitted for this binary file) 只使用了我所知道的处理器核心

1 个答案:

答案 0 :(得分:1)

在WPF中,您可以拥有多个UI线程,但必须在创建它的线程上使用UI元素。你在另一个线程中创建它,对吗?因此,您无法在默认的UI线程中使用它。

我怀疑"巨大的处理"根本不仅仅是创建实际的UI对象。找出"巨大的处理"包含,并将 放在另一个线程上。或者让其他线程在创建实际控件或控件时调用主UI线程。