Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > ролучить относительный путь к файлу.


Автор: KuMa1104 27.9.2010, 13:10
Здравствуйте.
Есть фото img1.png

чтобы загрузить её в конторлл нужно написать такой путь
Код

 string _imagePath = "img1.png";


но если контролл лежит в подпапке Temp то путь будет таким.
Код

string _imagePath = "../img1.png";
  

есть какое то универсальное средство чтобы не прописывать жестко пути.
Ведь если я перенесу контрол в другую папку мне придётся всё это отслеживать.

Аналог Application.ExecutablePath в WinForms например?????????????????????????????

И тогда  можно былобы написать 
Код

string _imagePath = Application.ExecutablePath + "\img1.png"


Автор: CYBERDREAM 27.9.2010, 13:32
Привет KuMa1104, 
AppDomain.CurrentDomain.BaseDirectory

Добавлено @ 13:44
а если из class library то   
Код

Assembly.GetExecutingAssembly().Location

Автор: CYBERDREAM 27.9.2010, 13:59
а ну еще можно
Код

 System.Windows.Forms.Application.StartupPath

Автор: KuMa1104 27.9.2010, 14:04
Здравствуйте. CYBERDREAM вы писали.
Цитата(CYBERDREAM @  27.9.2010,  13:32 Найти цитируемый пост)
Application.StartupPath


таких свойств в silverlight нет.
http://msdn.microsoft.com/en-us/library/system.windows.application_members(v=VS.96).aspx?appId=Dev10IDEF1&l=EN-US&k=k(SYSTEM.WINDOWS.APPLICATION);k(TargetFrameworkMoniker-"SILVERLIGHT&k=VERSION=V4.0");k(DevLang-CSHARP)&rd=true

может я вас не так понял поясните пожалуйста.

Автор: CYBERDREAM 27.9.2010, 14:10
я ответил для WPF, с силверлайтом не работал( увы

Автор: WolfTheGrey 27.9.2010, 14:14
А язык C# в сервелате поддерживается? 
Есть еще Enviroment.CurrentDirectory

Автор: KuMa1104 27.9.2010, 14:19
WolfTheGrey злравствуйте. 
Поддерживается но  Enviroment.CurrentDirectory вызывает Exception
{System.Security.SecurityException:Операция с файлом не разрешена. Отказано в доступе к пути "".

CYBERDREAM
Цитата(CYBERDREAM @  27.9.2010,  14:10 Найти цитируемый пост)
я ответил для WPF, с силверлайтом не работал( увы 

Извините я отчасти виноват что не указал что меня интересует Silverlight.

Автор: WolfTheGrey 27.9.2010, 14:23
Если путь вводить в разметке XAML, то: pack://application:,,,/
http://msdn.microsoft.com/ru-ru/library/aa970069(VS.90).aspx

Автор: KuMa1104 27.9.2010, 14:23
И всётаки как же быть. 
Может я чего не до понимаю. 
Пожалуйста кто нибудь поясните или киньте  сылочку на статью.

Автор: WolfTheGrey 27.9.2010, 14:24
а вобще сервелату как и веб разработке помоему запрещается открывать файлы без разрешения хозяина. 

Автор: KuMa1104 27.9.2010, 14:31
Да возможно. Но мне нужно подгрузить картинку. Пока файл лежит в папке в проекте.
И всем контроллам приходится прописыать сви собственный относительный путь.

Цитата(WolfTheGrey @  27.9.2010,  14:23 Найти цитируемый пост)
Если путь вводить в разметке XAML, то: pack://application:,,,/

Нет путь вводится программно в коде на C#

Добавлено через 51 секунду
Может так вообще нельзя делать.

Автор: userdab 27.9.2010, 23:47
http://social.msdn.microsoft.com/Forums/ru-RU/csharpru/thread/f6527db5-04f4-4993-8001-4b2fc8c7da59

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)