Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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相当于什么;System.Windows.Forms.Application.X“;用于获取启动路径、应用程序数据路径等。?_C#_Wpf - Fatal编程技术网

C# WPF相当于什么;System.Windows.Forms.Application.X“;用于获取启动路径、应用程序数据路径等。?

C# WPF相当于什么;System.Windows.Forms.Application.X“;用于获取启动路径、应用程序数据路径等。?,c#,wpf,C#,Wpf,我正在将windows窗体应用程序转换为WPF应用程序。是否有方法在不引用System.Windows.Forms的情况下获取诸如启动路径、用户应用程序数据路径、通用应用程序数据路径等内容 以前,我使用了System.Windows.Forms.Application.StartupPath,但是System.Windows.Application.Current对象不包含相同的信息。您可能需要查看 枚举的值很多: ApplicationData CommonApplicationData Co

我正在将windows窗体应用程序转换为WPF应用程序。是否有方法在不引用System.Windows.Forms的情况下获取诸如启动路径、用户应用程序数据路径、通用应用程序数据路径等内容

以前,我使用了
System.Windows.Forms.Application.StartupPath
,但是
System.Windows.Application.Current
对象不包含相同的信息。

您可能需要查看

枚举的值很多:

ApplicationData CommonApplicationData CommonProgramFiles Cookies Desktop DesktopDirectory Favorites History InternetCache LocalApplicationData MyComputer MyDocuments MyMusic MyPictures Personal ProgramFiles Programs Recent SendTo StartMenu Startup System Templates 应用数据 公共应用数据 公共程序文件 曲奇饼 桌面 桌面目录 最爱 历史 互联网缓存 本地应用程序数据 我的电脑 我的文档 我的音乐 我的图片 个人的 程序文件 程序 最近的 发送到 开始菜单 启动 系统 模板 这有帮助吗?

这会有帮助的

对于Application.StartupPath,请使用AppDomain.CurrentDomain.BaseDirectory


您可以使用Environment类获取所有类型的系统信息。对于目录,请使用Environment.GetFolderPath方法

Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);

我理解并同意引用
System.Windows.Forms.dll
看起来很难看,但我认为这比减少代码重复使用和重新发明自行车要好,而不是多引用一次

例如,我在我的控制台应用程序中使用
System.Windows.Forms.Application.ProductVersion
,我不喜欢这样,但认为这是较小的缺点


另请参见关于SO的问题,这正是我所需要的。谢谢大家。考虑到OP的例子是关于StartupPath的,我相信这应该是公认的答案。SpecialFolder.Startup是完全不同的。不要使用它来存储用户数据,因为Summery声明:
用户的配置文件文件夹。应用程序不应在此级别创建文件或文件夹;他们应该将数据放在System.Environment.SpecialFolder.ApplicationData所指的位置下。添加到.NET Framework 4中。