如何使主窗口等到C#WPF中新打开的窗口关闭?

Arj*_*ith 7 c# windows wpf window wait

我是WPF和C#的新手,请耐心等待.

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

但我不能让主窗口处理等到新窗口关闭.

 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";
 }
Run Code Online (Sandbox Code Playgroud)

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

 while(!_closecheck);
Run Code Online (Sandbox Code Playgroud)

欢迎任何建议.

Roh*_*ats 29

使用ShowDialog而不是Show-

Win.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

来自MSDN -

打开一个窗口,仅在新打开的窗口关闭时返回.


A.K*_*.K. 5

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

句法

Win.ShowDialog();
Run Code Online (Sandbox Code Playgroud)