【问题标题】:Get Handler to SaveFileDialog opened by Application获取应用程序打开的 SaveFileDialog 的处理程序
【发布时间】:2017-04-20 01:08:04
【问题描述】:

我正在尝试将处理程序获取到通过单击我的 WPF 应用程序的按钮打开的 SaveFileDialog。我可以在网上找到的所有示例实际上都创建了一个,但我需要处理一个已经打开的示例。我怎么做? 下面的代码总是创建一个新的 SaveFileDialog

        dlg.DefaultExt = "pdf"; // Default file extension
        dlg.Filter = "PDF File (*.pdf)|*.pdf|All files (*.*)|*.*"; // Filter files by extension
        dlg.FilterIndex = 2;
        dlg.InitialDirectory = "C:\\Users\\Reema.Sinha\\Downloads";
        Manager.Current.DialogMonitor.AddDialog(dlg);
        DownloadSaveButton.Click();
        DialogResult result = dlg.ShowDialog();

【问题讨论】:

  • 如果我没听错,你的意思是如果你点击取消,它应该会弹出一个消息框,要求确认..如果点击保存,它应该要求其他东西......?
  • 不。我点击下载按钮,会自动打开一个 SaveFileDialog,我需要一个处理程序来设置路径名,然后将文件保存为 pdf。

标签: c# wpf savefiledialog


【解决方案1】:

我猜OpenFileDialog 也可以做到这一点。但我只喜欢SaveFileDialog。我试过了,希望它也适用于你:

Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.DefaultExt = "pdf"; // Default file extension
dlg.Filter = "PDF File (*.pdf)|*.pdf|All files (*.*)|*.*"; // Filter files by extension
    dlg.FilterIndex = 2;
    dlg.InitialDirectory = "C:\\Users\\Reema.Sinha\\Downloads";
    Manager.Current.DialogMonitor.AddDialog(dlg);
    DownloadSaveButton.Click();

   Nullable<bool> result = dlg.ShowDialog();  // Show save file dialog box

  if (result == true)
  {
    // Save document
    string filename = dlg.FileName;
  }

更新:

使用FolderBrowserDialog。然后在向用户显示对话框后,您可以执行 dlg.SelectedPath。

希望这些帖子对您有所帮助。

SaveFileDialog that permits selection of folder

WPF select folder dialog

Open directory dialog

【讨论】:

  • 我以前试过这个,但问题出在:Manager.Current.DialogMonitor.AddDialog(dlg); dlg 必须实现 IDialog,但 SaveDialog 无法连接到 IDialog,因此这里无法进行转换。
  • 我找到了 SaveAsDialog,它工作得很好。无论如何感谢您的帮助。
  • 太棒了。:) 上传答案。这对其他人会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多