2014-12-23 5 views
0

Я в тупике. Я пытаюсь отобразить изображение, встроенное в другую сборку. Я пробовал несколько вещей, но до сих пор ничего не получилось. Я убежден, что мне не хватает чего-то очень простого.Почему мое изображение не может найти ресурс?

В настоящее время Xaml выглядит примерно так:

<Image> 
    <Image.Source> 
     <BitmapImage UriSource="pack://application:,,,/Name.Of.Assembly;component/Resources/Icons/icon.png" /> 
    </Image.Source> 
</Image> 

Я изначально был Xaml, который выглядел так:

<Image Source="pack://application:,,,/Name.Of.Assembly;component/Resources/Icons/icon.png" /> 

Я включил его в надежде, что это сделает разницу. (Это не так.)

У меня есть ссылка на Name.Of.Assembly в проекте. Я пытаюсь создать изображение. В сборке Name.Of.Assembly есть каталог под названием «Ресурсы», который имеет подпапку под названием «Иконки», которая содержит изображение icon.png. Действие сборки на icon.png установлено на Встраиваемый ресурс.

Когда я пытаюсь запустить, я получаю XamlParseException:

'Initialization of 'System.Windows.Media.Imaging.BitmapImage' threw an exception' 

Чье внутреннее исключение:

'Cannot locate resource 'resources/icons/icon.png' 

Это как это не смотря на сборку для ресурса. Почему он не загружает изображение? Что мне не хватает?

+0

Попробуйте заменить 'component; Resources' на' component/Resources' – dkozl

+0

doh! это на самом деле опечатка моего сообщения моего вопроса. –

+0

и действие сборки должно быть установлено в 'Resource' – dkozl

ответ

0

Я нашел решение моей проблемы:

Первый вопрос был, вероятно, то, моя сборка действия установлен в Embedded Resource вместо Resource. Как только я изменил это, я запустил Build в проекте, содержащем ресурс, но я не заметил ничего другого.

За Sean Nelson's suggestion, я сделал Clean, а затем Rebuild по проекту.

Изображение теперь отображается.