C# Ресурс WPF Visual Studio отображается в конструкторе, но не во время выполнения - PullRequest
1 голос
/ 12 февраля 2020

Я использую сообщество Visual Studio 2019

Как я добавил .png в свой проект.

  1. Откройте Resources.resx в проекте

  2. Нажмите Добавить ресурс -> Добавить существующий файл

  3. Выберите файл .png для добавления

Он добавлен к программе. Я могу видеть это в ресурсах. Он существует в моем дизайнере и правильно отображается в нем.

В этой программе используются другие изображения с точно такими же свойствами, которые я могу вызывать в любое время, и они прекрасно работают. Тем не менее, эти новые не делают. Они оба .png файлы. Я также несколько раз пытался очистить и перестроить решение.

Код для моего xaml:

<Image Source="Resources/FileName.png" Width="50" HorizontalAlignment="Left" Margin="5,5,0,0"/>

Свойства ресурсов: Действие сборки = Встроенный ресурс

Копировать в выходной каталог = Не копировать

Свойства изображения Постоянство = Связано во время компиляции (то же самое для рабочих и не рабочих ресурсов)

Ответы [ 3 ]

1 голос
/ 12 февраля 2020

Вы должны пометить Build Action как Resource , если вы хотите получить к нему доступ через папку, в противном случае (в вашем случае Embedded Resource ) вам придется получить доступ к пакету приложений с более сложным URI.

0 голосов
/ 13 февраля 2020

Установите для параметра «Создать» значение «Ресурс», затем используйте следующий код

<Image Source="Pack://Application:,,,/Resources/FileName.png"/>
0 голосов
/ 12 февраля 2020

1) Измените действие сборки в свойствах изображения на Ресурс .

2) Если ваше изображение находится в папке Resources вашего проекта, вы можете обратиться к нему. к нему, как показано ниже:

<Image Source="/Resources/FileName.png" Width="50" HorizontalAlignment="Left" Margin="5,5,0,0"/>

Более подробная информация находится в документации Microsoft здесь: Упаковать URI в WPF

...