Что такое WPF эквивалентно «System.Windows.Forms.Application.X» для получения пути запуска, пути к данным приложения и т. Д.? - PullRequest
17 голосов
/ 30 августа 2010

Я конвертирую приложение Windows Forms в приложение WPF. Есть ли способ получить такие вещи, как путь запуска, путь данных приложения пользователя, общий путь данных приложения и т. Д., Не ссылаясь на System.Windows.Forms?

Ранее я использовал System.Windows.Forms.Application.StartupPath, но объект System.Windows.Application.Current не содержит ту же информацию.

Ответы [ 4 ]

14 голосов
/ 30 августа 2010

Возможно, вы захотите взглянуть на System.Environment.GetFolderPath.

Значения перечисления SpecialFolder многочисленны:

ApplicationData
CommonApplicationData
CommonProgramFiles
Cookies
Desktop
DesktopDirectory
Favorites
History
InternetCache
LocalApplicationData
MyComputer
MyDocuments
MyMusic
MyPictures
Personal
ProgramFiles
Programs
Recent
SendTo
StartMenu
Startup
System
Templates

Это полезно?

6 голосов
/ 30 августа 2010

это поможет

для Application.StartupPath использовать AppDomain.CurrentDomain.BaseDirectory

http://msdn.microsoft.com/en-us/library/system.appdomain.basedirectory.aspx

2 голосов
/ 30 августа 2010

Вы можете использовать класс Environment для получения всех типов системной информации. Для каталогов используйте метод Environment.GetFolderPath.

Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
0 голосов
/ 30 августа 2010

Я понимаю и согласен, что ссылка на System.Windows.Forms.dll выглядит некрасиво, но я думаю, что это лучше, чем уменьшить повторное использование кода и заново изобретать велосипед, вместо этого просто еще одна ссылка.

Я использую, например, System.Windows.Forms.Application.ProductVersion в своих консольных приложениях, мне это не нравится, но думаю, что это меньшее зло ..

См. Также этот вопрос по SO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...