Пожалуйста, может кто-нибудь сказать мне технику, которая будет использоваться для следующего сценария.
Я хотел бы аутентифицировать пользователей, прежде чем разрешить моему коду выполнить другое действие.
У меня есть метод, который открывает новое окно с моей формой аутентификации (имя пользователя и пароль).
private bool userLogin()
{
Window loginInterface = new Window()
{
Title = "Please Login",
Content = new login(),
Height = 282,
Width = 300,
ResizeMode = ResizeMode.NoResize,
WindowStartupLocation = WindowStartupLocation.CenterOwner
};
loginInterface.Owner = this;
loginInterface.ShowDialog();
return true;
}
Я вызываю этот метод вот так, по нажатию кнопки:
private void perform_action(object sender, RoutedEventArgs e)
{
if (!userLogin())
{
// Failed login, do nothing
}
else
{
// Authentication successful, perform action
delete_item();
}
}
Окно открывается нормально, но как я могу теперь заставить мой метод возвращать true или false в зависимости от того, что пользователь делает в открытой форме?
Поэтому, когда пользователь нажимает кнопку входа с именем login_button
, мой код уже проверяет учетные данные, но мне нужно, чтобы значение 'bool' было отправлено обратно.
Можно ли заставить мое первое окно почти ждать, пока в другом окне будет выполнено действие, и получить ответ обратно?