Вы можете показать окно как диалоговое окно модели и использовать DialogResult для получения результата.
Если я правильно вас понимаю, вы хотите знать, нажал ли пользователь кнопку «Отмена», если он просто закрыл окно?Я не уверен, что это то, о чем вы просите, но если вы просто хотите показать диалоговое окно подтверждения и получить результат, вот как:
В окне отмены:
private void CancelWindow_OnOkClickedobject sender, RoutedEventArgs e)
{
this.Close();
}
private void CancelWindow_OnCancelClickedobject sender, RoutedEventArgs e)
{
this.DialogResult = true;
this.Close();
}
Затем, когда вы хотите показать это окно:
popout_Cancel MyApp = new popout_Cancel();
bool? result = MyApp.ShowDialog();
Если пользователь нажимает кнопку отмены, результат будет установлен в значение true.Если пользователь нажимает кнопку X или нажимает кнопку ОК, результат будет установлен в значение false.
Как только вы получите результат, вы можете возобновить свою раскадровку.Таким образом, код будет выглядеть следующим образом:
Storyboard SB = (Storyboard)FindResource("Install");
SB.Pause();
popout_Cancel MyApp = new popout_Cancel();
bool? result = MyApp.ShowDialog();
if (result == null || result == false)
SB.Resume();
else
//they really want to cancel, terminate the app
Отредактировано: ShowDialog () возвращает Nullable, хотя ShowDialog (), по-видимому, возвращает только true или false