Reputation: 141
I am new to WPF as well as C#, please bear with me.
I have a main window which opens up a new window. Now this new window is a prompt whether or not to overwrite a file, and the main window accesses a public variable in the new window to check for the prompt's result.
But I can't get the main window processing to wait until the new window closes.
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";
}
I tried adding a while loop checking another public boolean in the main window, but that just hangs the entire program.
while(!_closecheck);
Any suggestions are welcome.
Upvotes: 13
Views: 26188
Reputation: 15
Instead of using the .Show() property for openning/showing the window, use .ShowDialog() instead :)
Upvotes: -1
Reputation: 3331
Use ShowDialog() method as it Opens a window and returns only when the newly opened window is closed.
syntax
Win.ShowDialog();
Upvotes: 7
Reputation: 11176
Although ShowDialog
works fine, you may set MainWindow.IsEnabled = false
if you don't like that modal window. Sometimes it's useful to see the main window.
Upvotes: 4
Reputation: 81243
Use ShowDialog instead of Show
-
Win.ShowDialog();
From MSDN -
Opens a window and returns only when the newly opened window is closed.
Upvotes: 42