我创建了一个自定义MessageWindow
为了摆脱旧的并融入我自己的风格......
我的问题是,例如,当我单击按钮打开自定义MessageWindow
它并没有真正阻止我的用户界面。
public static void Show(string caption, string message)
{
Thread thread = new Thread(() =>
{
MessageWindow window = new MessageWindow(caption, message);
window.ShowDialog();
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
}
我想thread.Join
会阻塞父线程,直到新线程消失,但不知何故 UI 部分处于活动状态。我看不到动画,也无法移动窗口,但是当我单击被阻止的线程上的按钮时,我的MessageWindow
打开它仍然接受点击并在我关闭后执行它MessageWindow
thread.
有什么办法可以disable当消息窗口打开时,消息泵或阻止/锁定任何线程/UI?
您不应该为另一个窗口创建新线程。使用 WPF 时,所有 UI 都应在同一线程上运行。
当你想做一些与UI无关并且不想阻塞UI的事情时创建新线程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)