C# WPF - 仅允许某些文件扩展名

本文关键字:许某些 文件 扩展名 WPF | 更新日期: 2023-09-27 18:30:34

我有一个OpenFileDialog,我只想允许.txt作为用户的有效文件。

我知道我可以像这样在OpenFileDialog中添加Filter

var dialog = new OpenFileDialog();
dialog.DefaultExt = ".txt";
dialog.Filter = "Text Files (*.txt)|*.txt";
var result = dialog.ShowDialog();
// Do something with the result

然而,问题是我仍然可以直接在OpenFileDialog中说出类似"test.jpg"的东西,然后它打开它上传这个.jpg文件。(显然以后会在某个地方出错,但现在这并不重要。我只想知道如何限制用户只添加".txt"文件,没有别的?(通过直接在OpenFileDialog内验证它,而不是稍后在某个地方进行。

C# WPF - 仅允许某些文件扩展名

您不能仅在OpenFileDialog中执行此操作,即使可以,这也是一个糟糕的限制。

使用*.txt示例,有多个文件扩展名,其中是纯文本,*.bat或所有文件扩展名*.cs*.js等...

您不应限制用户可以在其上放置什么文件。

对于更复杂的文件类型,如果您的程序无法处理用户传递的文件,则应显示错误,而不是阻止用户传递文件。