一次更新多个窗口

时间:2014-10-01 04:07:27

标签: c# wpf multithreading

在我的WPF应用程序中,我以100 ms的间隔接收UDP数据。我必须在多个窗口中显示数据。 UDP服务器在单独的线程上运行,并通过Dispatcher.Invoke调用主UI线程以进行UI更新。由于只有一个主UI线程,不同窗口的更新不平行,即一个窗口中的第一个UI被更新,然后是另一个窗口。

有没有办法划分UI线程,以便所有窗口同时更新?

1 个答案:

答案 0 :(得分:0)

您可以在新的UI线程中创建和运行Windows

var thread = new Thread(new ThreadStart( () =>
{        
    var window= new Window();
    window.Show();

    System.Windows.Threading.Dispatcher.Run();
}));

thread.SetApartmentState(ApartmentState.STA);   
thread.IsBackground = true;   
thread.Start();