C# CefSharp OnBeforeDownload处理程序打开“打开文件”窗口而不是“保存”窗口

C# CefSharp OnBeforeDownload处理程序打开“打开文件”窗口而不是“保存”窗口,c#,wpf,cefsharp,C#,Wpf,Cefsharp,我正在windows项目中使用CefSharp[49] 下载处理程序用于根据具体情况取消下载 下面是我的处理程序,我面临的问题是窗口打开是“打开文件”窗口,而不是“另存为”窗口 public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback) { if (!callback.IsDisposed)

我正在windows项目中使用CefSharp[49] 下载处理程序用于根据具体情况取消下载

下面是我的处理程序,我面临的问题是窗口打开是“打开文件”窗口,而不是“另存为”窗口

public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
        {
            if (!callback.IsDisposed)
            {
                using (callback)
                {
                    if (_allowDownload)
                        callback.Continue(downloadItem.SuggestedFileName, showDialog: true);
                    else
                        downloadItem.IsCancelled = !_allowDownload;
                }
            }
        }

我使用下面的代码作为解决方法

  public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
    {
        if (!callback.IsDisposed)
        {
            using (callback)
            {
                if (_allowDownload)
                {
                    SaveFileDialog saveFileDialog = new SaveFileDialog();
                    saveFileDialog.FileName = downloadItem.SuggestedFileName;
                    saveFileDialog.Filter ="|*"+ System.IO.Path.GetExtension(saveFileDialog.FileName);

                    if (saveFileDialog.ShowDialog() == DialogResult.OK && saveFileDialog.FileName != "")
                    {
                        downloadItem.SuggestedFileName = saveFileDialog.FileName;                            
                    }
                    else
                        **downloadItem.IsCancelled = _allowDownload;**
                }
                else
                    **downloadItem.IsCancelled = !_allowDownload;**

                callback.Continue(downloadItem.SuggestedFileName, showDialog: false);
            }

        }
    }

    public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
    {

        if (downloadItem.IsComplete || downloadItem.IsCancelled)
            browser.CloseBrowser(true);
    }

问题是否使用最新版本重现<代码>51.0.0。不再支持较旧版本,如
49.0.0
。您当然可以显示自己的对话框来解决这个问题。我需要使用.Net framework 4,现在不能使用更高版本。无论如何,我要用我自己的对话框来处理这个问题。@amaitland这是取消下载的正确方法吗(在上面的代码中用**标记)?
默认情况下,下载将被取消。
,只调用
回调。如果希望允许下载,请继续。我注释掉回调。继续,但是电话一直在打,为什么?