如何使主窗口等待,直到一个新打开的窗口closures在C#WPF中?

我对WPF和C#都是新手,请耐心等待

我有一个主窗口打开一个新窗口。 现在这个新窗口是否覆盖文件的提示,主窗口访问新窗口中的公共variables来检查提示的结果。

但是我不能让主窗口处理等待新窗口closures。

Window1 Win = new Window1(); Win.Show(); if (Win.pr_res == 1) { abc.Text = "File to be overwritten"; File.Delete(_destination); Start(); } else { abc.Text = "Operation Aborted"; } 

我尝试添加一个while循环来检查主窗口中的另一个公共布尔值,但是这只是挂起了整个程序。

  while(!_closecheck); 

任何build议,欢迎。

Solutions Collecting From Web of "如何使主窗口等待,直到一个新打开的窗口closures在C#WPF中?"

使用ShowDialog而不是Show

 Win.ShowDialog(); 

从MSDN –

只有当新打开的窗口关闭时才打开一个窗口并返回。

使用ShowDialog()方法打开一个窗口,并只在新打开的窗口关闭时才返回。

句法

 Win.ShowDialog(); 

虽然ShowDialog工作正常,但如果您不喜欢该模式窗口,则可以设置MainWindow.IsEnabled = false 。 有时看到主窗口很有用。

而不是使用.Show()属性来打开/显示窗口,而是使用.ShowDialog()而不是:)