WPF常用控件-选择文件与保存文件窗口

OpenFileDialog

OpenFileDialog类型位于Microsoft.Win32命名空间下,用于在WPF中弹出文件选择窗口进行文件的选择。

csharp 复制代码
private void DoSelectFiles()
{
    OpenFileDialog openFileDialog = new OpenFileDialog();
    openFileDialog.Multiselect = true;
    if (openFileDialog.ShowDialog() == true)
    {
        if (openFileDialog.FileNames != null && openFileDialog.FileNames.Length > 0)
        {
            for (int i = 0; i < openFileDialog.FileNames.Length; i++)
            {
                ......
            }
        }
    }
}

常用属性

Filter:过滤器,可以设置可以选择的文件类型。

csharp 复制代码
openFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"

InitialDirectory:文件选择框的初始目录。

csharp 复制代码
openFileDialog.InitialDirectory = @"d:\";

Multiselect:是否支持多选。

csharp 复制代码
openFileDialog.Multiselect = true;

FileName`FileNames`:所选文件的文件名。

常用方法

bool ShowDialog([Window owner]):展示选择文件框,可以通过传参来指定父类窗体,当确定选择时,返回true,当直接关闭窗口时返回false。

Stream OpenFile():打开并返回所选文件的流对象。

Stream[] OpenFiles():打开并返回所选文件的流对象集合。

SaveFileDialog

SaveFileDialog类型位于Microsoft.Win32命名空间下,用于在WPF中弹出进行文件保存的路径选择及保存文件名称、文件类型的设置窗口。

其用法跟OpenFileDialog大同小异。

csharp 复制代码
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "保存文件"; // 设置对话框标题
saveFileDialog.FileName = "myfile.txt"; // 设置默认文件名
saveFileDialog.DefaultExt = ".txt"; // 设置默认文件扩展名
saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; // 设置文件类型过滤器
saveFileDialog.InitialDirectory = @"C:\"; // 设置初始目录

bool? result = saveFileDialog.ShowDialog();

if (result == true)
{
    string filePath = saveFileDialog.FileName;
    // 处理文件保存逻辑
}
相关推荐
samble7 小时前
从零搭建半导体设备上位机(四):单实例、启动流程与配置文件,App 里那 526 行到底在干什么
wpf·配置文件·单实例
浪扼飞舟14 小时前
WPF(控件的继承树、内容控件、布局控件)
wpf
avi91114 天前
电影开源Jevdo - 源码介绍(vue版)没有android 和 没有wpf
android·wpf·框架·数据爬虫·meego·电影管理
吾与谁归in5 天前
C#脚本工具,支持智能提示自动补全(WPF + Roslyn + AvalonEdit)
开发语言·c#·wpf
昂好的day5 天前
WPF 从零入门(上):WPF 是什么、XAML 语法、布局与样式全解
开发语言·c#·wpf
影寂ldy6 天前
WPF导航窗体+Page页面跳转 知识点整理
wpf
He BianGu6 天前
【WPF-Control教程】IOC 依赖注入
c#·wpf·wpf-control
He BianGu6 天前
【WPF-Control教程】H.Extensions.Behvaiors 开发文档
c#·wpf·wpf-control
He BianGu6 天前
【WPF-Control教程】H.Style 开发文档
c#·wpf·wpf-control
麻瓜code6 天前
分布式锁演进:从一个用户下两单,到 Redisson,我改了四版
分布式·wpf