我正在使用Microsoft.Win32.SaveFileDialog
类来保存我的文件。当我保存文件并最小化我的应用程序时,我无法恢复它。它仅在使用Microsoft.Win32.SaveFileDialog
后才会发生。这是代码:
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = String.Format("{0} {1} {2}", ev["b"], ev["a"], ev["c"]);
dlg.DefaultExt = ".csv";
dlg.Filter = "Supported format (.csv)|*.csv";
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
string s = dlg.FileName;
//other code
}
文件保存成功,但我不知道如何解决最小化问题。有人知道它会是什么吗?
答案 0 :(得分:3)
当您显示没有父窗口的对话框时,WPF会出现各种奇怪的模态问题。我没有直接使用SaveFileDialog看到这个,但我看到了与其他对话框类似的行为。尝试使用.ShowDialog()的重载,在其中传入父窗口。
答案 1 :(得分:1)
我在WPF和Win32 SaveFileDialog / OpenFileDialog中遇到了一个奇怪的模态问题。
会发生什么:
什么时候发生:
只需使用按钮点击事件创建一个简单的WPF应用程序:
private void Button_Click(object sender, RoutedEventArgs e)
{ // <-- Breakpoint sits here
Task.Run(() => {}).Wait();
new Microsoft.Win32.OpenFileDialog().ShowDialog();
}
使用重载的ShowDialog(Window owner)
函数解决了这个问题。