OpenFileDialog过滤器不断显示扩展名

时间:2012-12-10 14:41:18

标签: c# wpf openfiledialog

运行mspaint.exe并按 Ctrl + O 。显示的文件扩展名过滤器具有此特殊条目“所有图片文件”。现在,如何在WPF中创建此类过滤器? (我很确定我已经成功地在Win32中做到了这一点。)

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
dlg.DefaultExt = ".tif";
dlg.Filter =
    "All Picture Files|*.bmp;*.dib;*.jpg;*.jpeg;*.jpe;*.jfif;*.tif;*.tiff;*.png|" +
    "All Files|*.*";

Nullable<bool> result = dlg.ShowDialog();

上面的代码有效,但它会产生这些膨胀的过滤器标签

All Picture Files (*.bmp;*.dib;*.jpg;*.jpeg;*.jpe;*.jfif;*.tif;*.tiff;*.png)

All Files (*.*)

我没有问过这些括号,所以它们来自哪里?!

修改

显然,根据Windows选项隐藏已知文件类型的扩展名(在Windows资源管理器文件夹设置中),会自动添加或不添加扩展名。我相信WPF在这里做对了!

1 个答案:

答案 0 :(得分:0)

我发现上一篇文章,我认为回答了这个问题

Hide extensions in Vista/Windows 7 WPF FileDialog.Filter