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;
    // 处理文件保存逻辑
}
相关推荐
Vae_Mars2 小时前
幂等性学习笔记
笔记·学习·wpf
samble1 天前
从零搭建灌装监控系统(十九):单元测试实战,xUnit + 内存SQLite + 反射测试私有方法
c#·wpf·mvvm·modbus·工业控制
光泽雨2 天前
路由概念和路由事件 继承链路 RadioButton的事件解析
wpf
samble2 天前
从零搭建灌装监控系统(十八):自定义控件,三色灯与状态指示
c#·wpf·mvvm·modbus·工业控制
光泽雨2 天前
ToolTip工具提示控件
wpf·控件按钮
Vae_Mars2 天前
WPF中如何实现单位转换
wpf
samble3 天前
从零搭建灌装监控系统(十七):LiveCharts 实时温度曲线
c#·wpf·mvvm·modbus·工业控制
光泽雨4 天前
WPF中的依赖属性
wpf
海马4 天前
Spring Cloud 开发知识整理
spring·spring cloud·wpf
闻哥4 天前
分布式任务调度框架:XXL-Job / ElasticJob / DolphinScheduler / SchedulerX 架构对比与选型
分布式·架构·wpf