В настоящее время возникает проблема с открытием нового окна wpf. Текущая программа устанавливает логическое значение с подтверждением «false», затем программа открывает новое окно и передает идентификатор в новое окно, где пользователю будет предложено нажать кнопку «Да», если он может подтвердить, что идентификатор является его идентификатором (если это так, логическое значение установлено в true) или нет, если идентификатор не является их идентификатором (в этом случае логическое значение снова устанавливается в false). Новое окно закроется и вернется к обычному окну с новым значением логического значения. Затем выполняется оператор if для проверки значения логического значения, если false, то пользователю отображается сообщение, если true, тогда клиент перемещается в новое окно.
Проблема, с которой я столкнулся, заключается в том, что программа, похоже, открывает новое окно и запрашивает у пользователя, как и должно быть, однако в то же время программа переходит к следующему оператору if, проверяющему значение логического значения до того, как пользователь внес изменение. нажать да или нет. Таким образом, откроется новое окно, а затем будет запущен следующий оператор if, даже если я хочу дождаться пользовательского ввода, как я могу предотвратить это, код приведен ниже
Код для открытия нового окна и логическая проверка
bool confirmed == false;
int id = 1;
promptWindow = new promptWindow(id, confirmed);
код для нового окна
public(int id, bool confirmed)
{
InitializeComponent();
}
private void btnYes_Click(object sender, RoutedEventArgs e)
{
//confirms the user wants to book and returns value
bool confirmation = true;
return confirmation;
this.Close;
}
private void btnNo_Click(object sender, RoutedEventArgs e)
{
//confirms the user doesn't want to book and returns value
bool confirmation = false;
this.Close();
}
Код для проверки логического значения
if (confirmation == true)
{
//adds new customer to customer as they have confirmed booking
add.list(id);
}
else
{
MessageBox.Show("Booking not added");
}