C# 带有文件创建选项的OpenFileDialog

C# 带有文件创建选项的OpenFileDialog,c#,wpf-controls,C#,Wpf Controls,我有一个带有过滤器选项的openfiledialog,它只显示.log文件。如果不存在.log文件,如何禁用此筛选器以允许用户创建新文件(.txt)。此情况下有一个特殊对话框。它被称为SaveFileDialog。我建议您将此对话框用于以下目的: Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); ofd.Filter = "log Files | *.log"; if (ofd.ShowDialo

我有一个带有过滤器选项的openfiledialog,它只显示.log文件。如果不存在.log文件,如何禁用此筛选器以允许用户创建新文件(.txt)。

此情况下有一个特殊对话框。它被称为
SaveFileDialog
。我建议您将此对话框用于以下目的:

Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog();
ofd.Filter = "log Files | *.log";
if (ofd.ShowDialog() == true)
    LogFileName = ofd.FileName;

可以跳过文件存在性检查:
ofd.CheckFileExists=false。这允许对话框接受任何文件名,包括*.txt,但之后您仍必须自己创建该文件。该文件仅用于保存,但如果存在我需要打开相同的文件,则将只有一个(.log)文件。如果用户选择路径ex:(c:\test),并且如果.log文件存在,则应返回c:\test\xyz.log。如果文件不存在,则用户应在同一控件中指定文件名,并将其保存在.log扩展名中的路径中。下面是代码:那么需要查询用户以选择文件或文件夹吗?因为会有另一个对话框,即
OpenFolderDialog
using Microsoft.Win32;

(...)

SaveFileDialog sfd = new SaveFileDialog();

if(sfd.ShowDialog() == true)
{
    (...)    
}