求教下C# WPF多线程的问题
publicdelegatevoidThreadDelegate();privatevoidtest(){this.Dispatcher.BeginInvoke(Disp...
public delegate void ThreadDelegate();
private void test()
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new ThreadDelegate(threadTest));
}
private void threadTest()
{
txt_name.text="xxx";
}
上面只是一个列子,为啥我在程序中使用后还是感觉有点卡。
而且在线程中执行的时候 感觉就像多线程没跑起来似的 界面假死 控件的值不发生变化
执行完了才显示。。
求指导下 WPF线程接触的太少了。 展开
private void test()
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new ThreadDelegate(threadTest));
}
private void threadTest()
{
txt_name.text="xxx";
}
上面只是一个列子,为啥我在程序中使用后还是感觉有点卡。
而且在线程中执行的时候 感觉就像多线程没跑起来似的 界面假死 控件的值不发生变化
执行完了才显示。。
求指导下 WPF线程接触的太少了。 展开
展开全部
没看明白你的代码想要表达的意图。哪部分是跑在非UI线程的?
追问
private void threadTest() 就是这里
追答
你的代码使用Dispatcher.BeginInvoke还是在UI线程跑
你正好写反了
应该是类似于:
var thread = new Thread(threadTest);
thread.IsBackground = true;
thread.Start();
然后在threadTest中:
this.Dispatcher.BeginInvoke(new Action(() => txt_name.Text = "xxx"));
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询