Почему я не могу установить источник изображения в приложении WPF? - PullRequest
4 голосов
/ 17 марта 2010

Я только изучаю WPF. Я использую VS 2008. Я добавил элемент управления Image в свой XAML и добавил в проект файл GIF. Если я использую панель свойств XAML Designer для установки свойства Source изображения, раскрывающийся список для свойства Source содержит следующее:

C: \ Образец проекта; component / pinHorizont.gif

Есть несколько проблем с этим:

  1. Мой проект с именем «Пример проекта» не находится в корне моего диска.

  2. Почему там "; компонент"?

Если я выбираю это значение как заданное, я получаю ошибку «Значение свойства недопустимо» (да, без шуток).

Если я зайду в источник XAML и установлю свойство Source вручную, например, так:

<Image Name="PinImage" Source="pinHorizontal.gif"/>

Дизайнер XAML выдает мне эту ошибку:

"Файл pinHorizont.gif не является частью проекта, или его свойство 'Build Action' не установлено в 'Resource'."

Почему эта задача такая сложная? Как назначить источник изображения?

Ответы [ 6 ]

4 голосов
/ 20 марта 2010

Прочитайте эту статью - хотя имейте в виду, что это не особо легкое чтение :-)

Я подозреваю, что вы хотите, чтобы путь к вашему изображению был pack://application:,,,/pinHorizontal.gif. если для вашего изображения установлено значение BuildAction из Resource, это будет работать нормально.

2 голосов
/ 19 марта 2010

Щелкните правой кнопкой мыши файл изображения (pinHorizont.gif) в SolutionExplorer, перейдите в свойства, вот свойство Build Action, вам нужно установить для него «Resource». Надеюсь, это поможет !!

1 голос
/ 28 октября 2011

Это сообщение "а также" ... не ответ на оригинальный вопрос.

Я просто подумал, что документирую это на случай, если у какого-нибудь другого плохого багера возникнет эта проблема в будущем ... и поиск в сообщении об ошибке найдет этот ТАК вопрос ... так что вот подходящее место для этого.

Я создавал новые значки (фактически растровые изображения) и добавлял их «на лету» в свой проект Visual Studio 2008 (т. Е. Добавляю существующий элемент). IDE сообщает о file ${filename} is not part of the project or its 'Build Action' property is not set to 'Resource' ошибках на моей странице XAML ... но мой проект собирается и работает нормально ... так что дает ???

Я перепробовал все, что мог придумать, чтобы Get Visual Studio обновил представление о файловой системе, но безрезультатно.

Что ж, я только что обнаружил, что перезапуск Visual Studio "обновляет" кэш содержимого файловой системы / сборки-вывода, что устраняет досадные ошибки в среде IDE. Поэтому я добавляю пакет значков, отмечаю их как ресурсы ~ Скопируйте, если новее, соберите, а затем перезапустите IDE, и все это хорошо.

Приветствует всех. Кит.

0 голосов
/ 15 октября 2012

Вы можете использовать этот фрагмент кода в XAML, чтобы загрузить изображение с абсолютного пути без установки ничего. Используйте DecodePixelWidth или DecodePixelHeight для экономии памяти приложения.

<Image>
        <Image.Source>
            <BitmapImage DecodePixelWidth="200" UriSource="C:\image.png" />
        </Image.Source>
</Image>

Надеюсь, это поможет!

0 голосов
/ 21 августа 2012

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

Я снова открыл окно выбора изображения после того, как заставил его работать, и заметил, что file:/// теперь находится перед расположением файла. Я почти ничего не знаю о Visual Basic (именно этим я и пользуюсь), поэтому этому может быть хорошее объяснение, но у меня его нет.

0 голосов
/ 06 августа 2012

В обозревателе решений выберите свой проект и щелкните правой кнопкой мыши , перестройте решение и попробуйте снова добавить изображение, оно должно работать нормально.

- или -

на вкладке Build выберите , перестройте решение и попробуйте снова добавить изображение.

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