是否有阻止UI线程像windows . showdialog () WPF

本文关键字:showdialog windows WPF 线程 UI 是否 | 更新日期: 2023-09-27 17:54:12

我正在开发一个不使用windows . show()或windows . showdialog()的WPF应用程序,它只是一个简单的MainWindow和加载到指定的UserControls来放置占位符。

但问题是,当应用程序显示一个控件到占位符,它不会阻塞线程,如windows . showdialog(),我的意思是,当用户控件嵌入到主窗口,它可以关闭回主屏幕,像这样:

// Invoke foo control into placeholder
if (!ShowFooControl())
{
// TODO A: if control's result return false 
FooA();
}
// TODO B:just call after foo control closed
FooB();
return true;

FooB()只有在Foo Control被关闭后才会被调用。

FooA()只在Foo Control关闭并且dialgresult = false时调用。

我能做什么来模拟窗口。ShowDialog for my case.

谢谢。

是否有阻止UI线程像windows . showdialog () WPF

好的,明白了,得到你想要的东西的最好方法就是我在第一个答案中所说的。为了更好地向您解释它的含义,我制作了一个小型WPF应用程序作为示例。我的应用程序有一个主窗口和3个不同的用户控制,每个都有一些功能和关闭按钮。在主窗口中,我放置了三个用于在窗口内创建和显示控件的按钮,并在窗口中设置了一个布尔属性,该属性在显示用户控件时锁定任何其他控件,并在用户控件关闭后启用所有控件。您可以使用以下链接下载示例http://blogs.dotnetwork.it/sabrina/download/SampleCode/DisableControls.zip