我正在使用WPF中的SaveFileDialog导出到excel文件中的特定位置由用户选择。但在这两者之间,当SaveFileDailog打开时,用户点击Cancel button打开对话框,然后我得到另一个对话框,它显示"Do you want to save changes you made to 'Sheet1'?",然后是"Export completed",而不是取消导出。
那么我要怎么做才能解决这个问题呢?在WPF中有没有和winForms一样的东西,比如'DialogResult'?
发布于 2011-11-16 14:53:01
如果用户保存( ShowDialog方法返回一个可以为空的布尔值),SaveFileDialog将返回true,如果用户按下取消,则返回false/null。下面是一个示例MSDN代码,可帮助您快速入门:
// Configure save file dialog box
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".txt"; // Default file extension
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension
// Show save file dialog box
Nullable<bool> result = dlg.ShowDialog();
// Process save file dialog box results
if (result == true)
{
// Save document
string filename = dlg.FileName;
}发布于 2011-11-16 14:31:10
当用户单击cancel时,您需要使用WPF中的MessageBox打开另一个窗口。将以下代码添加到cancel按钮事件中:
private void canceButton()
{
MessageBoxResult key = MessageBox.Show(
"Are you sure you want to quit",
"Confirm",
MessageBoxButton.YesNo,
MessageBoxImage.Question,
MessageBoxResult.No);
if (key == MessageBoxResult.No)
{
return;
}
else
{
Application.Current.Shutdown();
}
}发布于 2011-11-16 14:41:12
你必须使用DialogResult Property来使用WPF中的对话框结果。有关在WPF中使用对话框结果的更多信息,请参阅WPF Dialogs and DialogResult
https://stackoverflow.com/questions/8147574
复制相似问题