Я пришел в основном из Интернета и немного из Windows Forms. Для нового проекта мы будем использовать WPF. Приложению WPF понадобится от 10 до 20 маленьких иконок и изображений для иллюстративных целей. Я думаю о том, чтобы хранить их в сборке как встроенные ресурсы. Это правильный путь?
Как указать в XAML, что элемент управления Image должен загружать изображение из встроенного ресурса?
источник
DynamicResource
расширение разметки вместо тогоStaticResource
, чтобы предполагать, что вы будете знать ключи во время компиляции. В WPF вы можете создавать словари ресурсов во время выполнения. Фактически, это то, что происходит, когда вы загружаете документ Xaml, просто вы не видите эквивалентный C #.Width="{Binding Source.PixelWidth, RelativeSource={RelativeSource Self}}"
к нимImage
, так как в противном случае я часто вижу, что изображения по каким-то причинам увеличиваются в гротескном масштабе (например, значки 16x16 растягиваются до размера, который выглядит как 200x200 пикселей).Я обнаружил, что наилучшей практикой использования изображений, видео и т. Д. Является:
пример
Льготы:
источник
Некоторые люди спрашивают об этом в коде и не получают ответа.
Потратив много часов на поиски, я нашел очень простой метод, я не нашел ни одного примера, и поэтому я поделился здесь своим, который работает с изображениями. (мой был .gif)
Резюме:
Он возвращает BitmapFrame, который, по-видимому, нравится «получателям» ImageSource.
Использование:
Метод:
Усвоение:
Судя по моему опыту, строка пакета не является проблемой, проверьте ваши потоки, особенно если при чтении в первый раз указатель указывается на конец файла, и вам необходимо сбросить его на ноль, прежде чем читать снова.
Я надеюсь, что это спасет вас от многих часов, которые я хотел бы получить для меня!
источник
В коде для загрузки ресурса в исполняющую сборку, где мое изображение
Freq.png
было в папкеIcons
и определено какResource
:Я также сделал функцию:
Использование (предполагается, что вы поместили функцию в класс ResourceHelper):
Примечание : см. URI пакета MSDN в WPF :
pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml
источник
new Uri(@"pack://application:,,,/" + pathInApplication)
также сделало свое дело .Да, это правильный путь.
Вы можете использовать изображение в файле ресурсов, просто используя путь:
Вы должны установить действие сборки файла образа на «Ресурс».
источник
Полное описание того, как использовать ресурсы: ресурс приложения WPF, содержимое и файлы данных.
И как ссылаться на них, читайте "Упаковать URI в WPF".
Короче говоря, есть даже средства для ссылки на ресурсы из ссылочных / ссылающихся сборок.
источник
Это сработало для меня:
источник
Если вы используете Blend , чтобы сделать его более простым и не иметь проблем с получением правильного пути для атрибута Source , просто перетащите изображение с панели Project на дизайнер.
источник
Да, это правильный путь. Вы можете использовать изображения в файле ресурсов, используя путь:
источник
Следующее сработало и изображения для установки это ресурсы в свойствах:
источник