Ресурсы изображений WPF и редактор ресурсов Visual Studio 2010
-
26-09-2019 - |
Вопрос
Моя мотивация на этот вопрос действительно просто указать изображение, которое будет использоваться в пользовательском управлении через свойство зависимости для impactorce. Я ударю некоторые болевые точки, связанные с тестированием управления, доступа и единицы для этого.
- Ребен ресурсов хороший инструмент для поддержания изображений для приложения?
- Какой лучший способ перевести растровое изображение из редактора на imageSource?
- Как я могу схватить имя файла ресурса из редактора?
Решение
Нет, редактор ресурсов не является хорошим инструментом для этого.
В приложении WPF лучший способ - поставить все ваши изображения в каталог «Изображения» и отметьте каждый как «ресурс». Тогда вы можете ссылаться на них непосредственно в элементы управления изображения и в другом месте.
Вот точные шаги:
- Урожай и в противном случае настройте свои изображения, используя вашу любимую программу редактирования растровых изображений (Paint.net, Photoshop и т. Д.)
- Сохранить их как файлы .png (или .jpg или .gif, если вы предпочитаете)
- Создайте папку «Изображения» внутри вашего решения Visual Studio (или нескольких папок, однако вы хотите организовать его)
- Перетащите изображения с жесткого диска в папку «Изображения» (или щелкните правой кнопкой мыши проект, выберите New -> Существующий элемент и выберите изображения)
Теперь вы можете легко ссылаться на ваши изображения в XAML:
<Image Source="Images/MyImage.png" />
Или в коде:
var source = (BitmapSource)Application.LoadComponent(
new Uri("Images/MyImage.png", UriKind.Relative));
Вы также можете ссылаться на изображения во внешних собраниях:
<Image Source="ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png" />
Который в коде будет:
var source = (BitmapSource)Application.LoadComponent(
new Uri("ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png",
UriKind.Relative));