Как мне указать корневой каталог в моем приложении WPF?

Я создаю экземпляр Uri для использования в качестве источника изображения, но строка (путь к файлу), которую я предоставляю, недействительна. Я понимаю, почему - это потому, что я использую относительный путь:

"Resources/Images/" + draggedAct.Category.ToLower() + ".png"

Когда у меня возникла эта проблема в asp .net, я использовал Server.MapPath(imageString) для разрешения полного пути, но я не знаю эквивалента в WPF.

Большое спасибо,

Дэн


person Community    schedule 21.12.2011    source источник
comment
Вы пробовали использовать ~ / Resources / Images /? Это еще один способ сделать это, который работает в asp.net, хотя не уверен, работает ли он в WPF.   -  person Joakim Johansson    schedule 21.12.2011


Ответы (2)


используйте синтаксис pack uri (см. msdn: http://msdn.microsoft.com/en-us/library/aa970069%28v=vs.85%29.aspx):

"pack://application:,,,/Resources/Images/"+ draggedAct.Category.ToLower() +".png"

// Absolute URI (default)
Uri absoluteUri = new Uri("pack://application:,,,/Resources/Images/"+ draggedAct.Category.ToLower() +".png", UriKind.Absolute);

or:

// Relative URI
Uri relativeUri = new Uri("/Resources/Images/"+ draggedAct.Category.ToLower() +".png", UriKind.Relative);
person chaosr    schedule 21.12.2011

Вы можете использовать URI пакета, как описано в ответе на этот вопрос StackOverflow: Настройка изображения WPF исходный код в коде

person Adam    schedule 21.12.2011