请有人告诉我将使用的技术,用于以下场景。触发方法取决于第二个窗口上的动作
我想在验证用户身份之前,允许我的代码执行其他操作。
我有一个方法,打开一个包含我的身份验证表单(用户名和密码)的新窗口。
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'值。
我可以让我的第一个窗口几乎等待一个动作在另一个窗口上执行并获得响应吗?
1'Close'是没有必要的2'结果'是可空的,所以声明不会像这样工作 –
好点 - 谢谢 –
谢谢!起初我遇到了麻烦,因为我把Window设置为UserControl。一旦我改变了,我就可以访问DialogResult变量。 – Luke