В WPF как указать путь к файлу, вложенному в каталог с помощью XAML?
Я пытаюсь это сделать...
<Image x:Name="imgGroupImage" Source="Imagesunlock.png" Margin="0,0,5,0" />
но я получаю эту ошибку...
не удается преобразовать строку ' Imagesunlock.ПНГ в атрибут 'Source' для объекта типа 'системы.Окна.Сми.ImageSource'. Не удается найти формы/изображения/разблокировка ресурса.png'. Ошибка в системе объекта.Окна.Hierarchicaldatatemplate 'в файле разметки' предохранитель; компонент / формы / главное окно.xaml ' строка 273 позиция 51.
Как вы можете видеть, моя форма, которая включает этот XAML в папке с именем формы. Мои изображения находятся в папке с именем Images. Как сопоставить формы с изображениями?
пробовал Source="..Imagesunlock.png"
который не работает в WPF.
помочь?
4 ответов
попробуйте косые черты, а не обратные косые черты, и используйте абсолютный путь, ведущий с косой чертой:
Source="/Images/unlock.png"
это обычно работает для меня.
в противном случае, взгляните на Пакет URIs.
- добавьте изображение в проект в VS
- щелкните правой кнопкой мыши на этом изображении "разблокировать".формат PNG
- заходим в контекстное меню /Свойства
- изменить действие сборки на Resource
вот и все :-)
вы пытались установить источник в растровое изображение?
<Image x:Name="imgGroupImage" Margin="0,0,5,0" >
<Image.Source>
<BitmapImage UriSource="Images/unlock.png" />
</Image.Source>
</Image>
Я считаю, что тип по умолчанию Uri
на UriSource
является родственником Uri
, который работает с базовым классом приложения. Вы можете найти, что вы можете настроить BitmapSource
немного проще, чем пытаться найти точный способ ввода пути к файлу в
чтобы использовать ресурс, расположенный в папке, отличной от той, где находится ваш XAML, сделайте следующее:
<Image Source="pack://application:,,,/Resources/image.png"/>
здесь ресурсы - это имя каталога, из которого вы хотите использовать ресурсы и изображения.png-это имя изображения для отображения. Ответ найден благодаря @matt-hamilton и @brian-hinchey и их упоминанию Pack URI.
Отлично работает с собственными конвертерами. Вам просто нужно вернуть схему сопоставления строк выше.