我有一个应用程序,我刚才发现它也必须以完全不同的分辨率在镜像窗口中运行。
This link describes how multiple windows can each have different UI threads
我认为出于性能原因,我的Windows需要在不同的UI线程上运行。所以,现在我需要在另一个窗口上镜像一个窗口的可视区域。我试图将第二个窗口的DataContext设置为第一个窗口,但这会导致异常,因为它们是不同的线程(上述链接的修改版本)。
Thread thread = new Thread(() =>
{
MainWindow w = new MainWindow();
w.DataContext = MainWindow.DataContextProperty;
w.Show();
w.Closed += (sender2, e2) =>
w.Dispatcher.InvokeShutdown();
System.Windows.Threading.Dispatcher.Run();
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
有什么想法吗?
答案 0 :(得分:1)