我是C#的新手。我正在使用WPF。我对Win32Console应用程序中的线程知之甚少,并制作了一个并行运行两个循环的程序。制作一个wpf应用程序时会出现问题。我将如何制作两个线程,一个线程应该运行UI而另一个线程应该更新UI
textbox
。
答案 0 :(得分:0)
这是一种可能的解决方案....使用TPL并发送事件。请注意,此方法不知道谁想要数据,也不关心谁调用了数据。
public void doAsync(){
var list = new List<ofSomething>();
Task.Factory.StartNew(()=>{
//You are now in a new thread, just do your stuff here.
var somerange = GetSomeRange();
list.AddRange(somerange);
}).Continue((p)=>{
//you are now on GUI thread send event or return the list.
//I personally like to send events.
if(PostDataReady != null) PostDataReady(list);
});
}