当用户在主窗口中按下“X”时,出现此对话框:
-- Save Changes --------------------------
| |
| Do you want to save changes? |
| |
| |
| |Don't Save| |Cance| |Save| |
|__________________________________________|
我无法实现“取消”按钮。在用户点击取消后,我无法弄清楚如何告诉主窗口不要关闭。我通过窗口的“关闭”命令/方法提示用户使用此对话框。
答案 0 :(得分:10)
在结束事件中,您需要将事件属性Cancel
设置为true。
void DataWindow_Closing(object sender, CancelEventArgs e)
{
MessageBox.Show("Closing called");
// If data is dirty, notify user and ask for a response
if (this.isDataDirty)
{
string msg = "Data is dirty. Close without saving?";
MessageBoxResult result =
MessageBox.Show(
msg,
"Data App",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result == MessageBoxResult.No)
{
// If user doesn't want to close, cancel closure
e.Cancel = true;
}
}
}
答案 1 :(得分:5)
调用的处理程序方法有一个表示事件args的参数(类型为CancelEventArgs,让我们称之为e
。在处理程序中设置e.Cancel = true
以防止默认行为。