如何在同一单独线程上运行多个 WPF 窗口

问题描述 投票:0回答:1

有一个众所周知的解决方案可以在单独的线程上运行窗口。然而我的问题是 - 如何在与“主”UI 线程分开的同一个窗口上运行两个或多个窗口?

注意 - 窗口是由用户在运行时添加的,所以我不能写这个(甚至不确定这是否有效,只是为了突出这个想法):

var thread = new Thread(() =>
{
    Window1 w1 = new Window1();
    w1.Show();
    Window2 w2 = new Window2();
    w2.Show();

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

我需要的是这样的:

Window2 w2 = new Window2();
SetWindowThread(w2, thread);
w2.Show()
.net wpf multithreading .net-7.0
1个回答
0
投票

我已经完成了这项工作:

w1.Dispatcher.BeginInvoke(() => {
    var w2 = new Window1();
    w2.Show();
});
© www.soinside.com 2019 - 2024. All rights reserved.