wpf Графические ресурсы и редактор ресурсов Visual Studio 2010

Моя мотивация для этого вопроса на самом деле просто указать изображение, которое будет использоваться в пользовательском элементе управления через свойство зависимости для ImageSource. Я бью некоторые болевые точки, связанные с управлением, доступом и модульным тестированием для этого.

  • Является ли редактор ресурсов хорошим инструментом для поддержки изображений для приложения?
  • Каков наилучший способ перевода растрового изображения из редактора в ImageSource?
  • Как я могу получить ресурс Filename из редактора?

1 ответ

Решение

Нет, редактор ресурсов не является хорошим инструментом для этого.

В приложении WPF лучший способ - поместить все ваши изображения в каталог "Изображения" и пометить каждое из них как "Ресурс". Затем вы можете ссылаться на них непосредственно в элементах управления изображения и в других местах.

Вот точные шаги:

  • Обрезайте и иным образом корректируйте изображения с помощью любимой программы редактирования растровых изображений (Paint.NET, Photoshop и т. Д.)
  • Сохраните их как файлы.png (или.jpg или.gif, если хотите)
  • Создайте папку "Изображения" внутри своего решения Visual Studio (или нескольких папок, однако вы хотите организовать их)
  • Перетащите изображения с жесткого диска в папку "Изображения" (или щелкните проект правой кнопкой мыши, выберите "Создать" -> "Существующий элемент" и выберите изображения).

Теперь вы можете легко ссылаться на свои изображения в 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));
Другие вопросы по тегам