365出款成功未到

文件对话框

文件对话框

文件对话框文件对话框功能可以通过 StorageProvider 服务 API 访问,该服务 API 可在 Window 或 TopLevel 类中获取。本页面仅展示基本用法,有关此 API 的更多信息,请查阅 StorageProvider 页面。

信息如果要查看这些概念在实际运行中的完整示例,请参阅 示例应用程序

OpenFilePickerAsync​

此方法打开一个文件选择器对话框,允许用户选择文件。FilePickerOpenOptions 定义了传递给操作系统对话框的选项。

public class MyView : UserControl{ private async void OpenFileButton_Clicked(object sender, RoutedEventArgs args) { // 从当前控件获取 TopLevel。或者,您也可以使用 Window 引用。 var topLevel = TopLevel.GetTopLevel(this); // 启动异步操作以打开对话框。 var files = await topLevel.StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions { Title = "Open Text File", AllowMultiple = false }); if (files.Count >= 1) { // 打开第一个文件的读取流。 await using var stream = await files[0].OpenReadAsync(); using var streamReader = new StreamReader(stream); // 将文件的所有内容作为文本读取。 var fileContent = await streamReader.ReadToEndAsync(); } }}

SaveFilePickerAsync​

此方法打开一个文件保存对话框,允许用户保存文件。FilePickerSaveOptions 定义了传递给操作系统对话框的选项。

示例​

public class MyView : UserControl{ private async void SaveFileButton_Clicked(object sender, RoutedEventArgs args) { // 从当前控件获取 TopLevel。或者,您也可以使用 Window 引用。 var topLevel = TopLevel.GetTopLevel(this); // 启动异步操作以打开对话框。 var file = await topLevel.StorageProvider.SaveFilePickerAsync(new FilePickerSaveOptions { Title = "Save Text File" }); if (file is not null) { // 打开文件的写入流。 await using var stream = await file.OpenWriteAsync(); using var streamWriter = new StreamWriter(stream); // 将一些内容写入文件。 await streamWriter.WriteLineAsync("Hello World!"); } }}

有关 StorageProvider 服务的更多信息,包括如何保持对选定文件的访问以及支持哪些可能的选项,请访问 StorageProvider 文档页面和子页面。

备注为了学习目的,提供的示例直接在 ViewModel 中访问 StorageProvider API。在实际的应用程序中,建议遵循 MVVM 原则,通过创建服务类并使用依赖注入/控制反转 (DI/IoC) 来定位它们。请参阅 IoCFileOps 和 DepInject 项目,查看如何实现这一功能的示例。

相关推荐

成都 歌词 - 赵雷
365体育足球中文版

成都 歌词 - 赵雷

📅 2025-07-19 👁️ 604
如何在电脑上做ppt
365出款成功未到

如何在电脑上做ppt

📅 2025-09-24 👁️ 3469
揭开催眠的神秘面纱
365体育足球中文版

揭开催眠的神秘面纱

📅 2025-07-23 👁️ 7277
JINS×龙珠 动漫联名眼镜日本与部分海外门市登场!将悟空、布尔玛“戴”进日常穿搭