C# WPF相当于什么;System.Windows.Forms.Application.X“;用于获取启动路径、应用程序数据路径等。?
我正在将windows窗体应用程序转换为WPF应用程序。是否有方法在不引用System.Windows.Forms的情况下获取诸如启动路径、用户应用程序数据路径、通用应用程序数据路径等内容 以前,我使用了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
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中。