Vin*_*rto 2 c# openfiledialog .net-core
在.NET Framework上,您可以将System.Windows.Forms.OpenFileDialog用于具有本机Windows UI的打开文件,但这仅适用于Windows.
.Net Core或其他替代方案有一个System.Windows.Forms.OpenFileDialog实现?
mm8*_*mm8 14
由于 .NET Core 增加了对 Windows 桌面应用程序的支持,WPF 和面向.NET Core 的Windows 窗体应用程序可以像在 .NET Framework 中一样使用OpenFileDialog和SaveFileDialogAPI。
这些 API 已移植到位于 .NET Core 3 及更高版本之上的 Windows 特定桌面包。
使用 WPF 控件的新的闪亮 .NET 5.0 Windows 应用程序可以使用库中的OpenFileDialog()方法Microsoft.Win32。它与 Windows 窗体版本不同,例如 -ShowDialog()方法返回bool?而不是DialogResult.
这是示例 MyWpfView.xaml.cs 代码:
using Microsoft.Win32;
using System.Windows;
namespace TestProject {
public partial class MyWpfView
{
public MyWpfView()
{
InitializeComponent();
}
private void BrowseButton_Click(object sender, RoutedEventArgs e)
{
var fileDialog = new OpenFileDialog();
if (fileDialog.ShowDialog() == true)
{
FileTextBox.Text = fileDialog.FileName;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
.NET Core本身不包含任何UI的API.例如,https://docs.microsoft.com/en-us/dotnet/api/?view = netcore-2.0&term = File显示没有任何相关性.这也是.NET Core开发人员目前的立场:https: //github.com/dotnet/core/issues/374
有几个外部库可以在特定平台上运行:
如果你并没有真正依赖.NET Core本身.UWP(建立在.NET标准之上,但与.NET Core不同)也可能是一个选项.