請有人告訴我將使用的技術,用於以下場景。觸發方法取決於第二個窗口上的動作
我想在驗證用戶身份之前,允許我的代碼執行其他操作。
我有一個方法,打開一個包含我的身份驗證表單(用戶名和密碼)的新窗口。
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