Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF如何从OpenFileDIalog获取所选文件_C#_.net_Wpf - Fatal编程技术网

C# WPF如何从OpenFileDIalog获取所选文件

C# WPF如何从OpenFileDIalog获取所选文件,c#,.net,wpf,C#,.net,Wpf,我是WPF的新手,我四处寻找问题的解决方案,但我还没有找到正确的方法。我正在制作一个应用程序,用户可以在其中创建帐户并添加配置文件图像。因此,在Create\u Account\u页面中,我有一个按钮,单击该按钮时会出现一个事件,创建一个OpenFileDialog,然后调用dialog.showdialog() 我想要的是能够获取所选文件并将其保存到我的项目文件夹中。我知道有一个FileOk事件,这似乎是我所需要的,但我找到的所有解决方案都不起作用。if(dialog.ShowDialog()

我是WPF的新手,我四处寻找问题的解决方案,但我还没有找到正确的方法。我正在制作一个应用程序,用户可以在其中创建帐户并添加配置文件图像。因此,在
Create\u Account\u页面
中,我有一个按钮,单击该按钮时会出现一个事件,创建一个
OpenFileDialog
,然后调用
dialog.showdialog()


我想要的是能够获取所选文件并将其保存到我的项目文件夹中。我知道有一个
FileOk
事件,这似乎是我所需要的,但我找到的所有解决方案都不起作用。

if(dialog.ShowDialog())
应该是您的全部need@FrankerZ
ShowDialog
返回可为空(bool?)。所以不能。我在网上看到的每个人都在做dialog.showdialog()==DialogResult.OK,但这并不能用于me@Alvaromon这种情况下
System.Windows.Forms.OpenFileDialog
。我的代码演示
Microsoft.Win32.OpenFileDialog
但除此之外,一切都是相同的same@lomed谢谢这帮了我,我是WPF的新手,所以我没有意识到我的项目没有对System.Windows.Forms的引用
if(dialog.ShowDialog())
应该是你的全部need@FrankerZ
ShowDialog
返回可为空(bool?)。所以不能。我在网上看到的每个人都在做dialog.showdialog()==DialogResult.OK,但这不适用于me@Alvaromon这种情况下
System.Windows.Forms.OpenFileDialog
。我的代码演示
Microsoft.Win32.OpenFileDialog
但除此之外,一切都是相同的same@lomed谢谢你,这帮助了我,我是WPF的新手,所以我没有意识到我的项目没有对System.Windows的引用。Forms@PeterDuniho提出的问题是重复的,但最终成为一个参考问题。其中我的项目需要向system.windows.form添加一个引用。对于任何阅读本文的人来说,System.Windows.Forms中有一个OpenFileDialog,System.Win32中有一个OpenFileDialog,不要将两者混用@彼得杜尼奥提出的问题是重复的,但它最终成为了一个参考问题。其中我的项目需要向system.windows.form添加一个引用。对于任何阅读本文的人来说,System.Windows.Forms中有一个OpenFileDialog,System.Win32中有一个OpenFileDialog,不要将两者混用!
var dialog = new Microsoft.Win32.OpenFileDialog();
var newDestination = Environment.CurrentDirectory;

if (dialog.ShowDialog() == true)
{
    var fullPath = dialog.FileName;
    var fileOnlyName = Path.GetFileName(fullPath);
    File.Copy(fullPath, Path.Combine(newDestination, fileOnlyName));
}