Источник изображения не находит файл изображения в рабочем каталоге - PullRequest
2 голосов
/ 06 апреля 2011

Я новичок в WPF, столкнулся с проблемой при поиске файла изображения на кнопке.

Это не работает, когда я указываю относительный путь, как показано (Window1.xaml):

<Button Height="23" HorizontalAlignment="Right" Margin="0,33,38,0" Name="button1" VerticalAlignment="Top" Width="24" Background="AliceBlue" OpacityMask="Cyan" Grid.Column="1" Click="button1_Click">
    <Image Source="Folder-icon.png"></Image>
</Button>

Тем не менее, это работает, когда я указываю абсолютный путь:

<Button Height="23" HorizontalAlignment="Right" Margin="0,33,38,0" Name="button1" VerticalAlignment="Top" Width="24" Background="AliceBlue" OpacityMask="Cyan" Grid.Column="1" Click="button1_Click">
    <Image Source="D:\Folder-icon.png"></Image>
</Button>

Я пытаюсь описать структуру папок в картинке.Folder Structure

Надеюсь, кто-нибудь может подсказать мне загрузить изображение в кнопку в том же рабочем пространстве, используя относительный путь.

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

Если вы сравните значения Image.Source для обоих случаев, вы увидите в приведении, что он работает, базовый Uri выглядит следующим образом:

file:///D:/Folder-icon.png

В случае, если он не работает,Значение Image.Source равно нулю.Проблема заключается в том, что без полного пути WPF предполагает, что это относительный путь к встроенному ресурсу, а не файл на диске.

Эта ссылка предоставляет подробное описание URI.Но вам нужно использовать что-то вроде следующего, чтобы использовать относительные пути.

pack://siteoforigin:,,,/Folder-icon.png

Еще одно примечание, путь по умолчанию будет в папке <Your Project Path\bin\Debug, а не в папке <Your Property Path>.

1 голос
/ 06 апреля 2011

, если это потому, что вы не указали правильный путь. Вот образец

/EmailScrapperWpf;component/Images/SearchDog.gif

это как /projectname;then path where your image is placed

я думаю, что в вашем случае это должно быть

 <Image Source="/WPF1;Folder-icon.png"></Image>

когда вы выбираете изображение в свойствах, когда вы выбираете Image и нажимаете F4, там источник переходит к изображению, затем посмотрите, какой путь отображается после выбора изображения, и вы должны поместить этот путь в Source=""

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