Поделиться через


Значки панели элементов и внедренные ресурсы

Обновлен: Ноябрь 2007

В этом разделе описывается, как с помощью внедренных ресурсов задать пользовательский значок панели элементов для элементов управления Windows Presentation Foundation (WPF).

Соглашение об именовании

Значок панели элементов связывается с пользовательским элементом управления в соответствии с соглашением об именовании. Windows Presentation Foundation (WPF) для Visual Studio (конструктор) проверяет внедренные ресурсы в сборке элемента управления на предмет надлежащего имени файла изображения.

В простейшем случае файл изображения значка панели элементов добавляется в проект элемента управления в качестве внедренного ресурса. Ему следует присвоить имя ControlName.Extension. WPF (конструктор) ищет ресурс с именем файла, соответствующим имени типа элемента управления.

В следующей таблице перечислены поддерживаемые типы файлов для значков панели элементов.

  • XAML

  • BMP

  • GIF

  • JPG

  • JPEG

  • PNG

Дополнительные сведения см. в разделе Пошаговое руководство. Создание пользовательского значка панели элементов для элемента управления.

Cc165608.alert_note(ru-ru,VS.90).gifПримечание.

Чтобы найти наилучший ресурс для значка панели элементов, WPF (конструктор) использует алгоритм сопоставления. Если файл ресурсов является недопустимым файлом XAML или недопустимым файлом изображения, используется следующее сопоставление, пока не будет обнаружен надлежащий файл. Изображения XAML не могут содержать ссылок на несистемные типы.

Полностью соответствующее имя

Соглашение об именовании значков панели элементов поддерживает полностью соответствующие имена ресурсов. Для полностью соответствующих имен в имя значка панели элементов включается пространство имен согласно следующему формату: Namespace.ControlName.Icon.Extension. Например, для элемента управления, называемого ProseControl и определяемого в пространстве имен Proseware.Core.Controls, полностью соответствующее имя значка панели элементов PNG будет Proseware.Core.Controls.ProseControl.Icon.png.

Для ресурсов Visual Studio автоматически преобразует папки в пространства имен. Поэтому в проекте можно создать структуру папок, совпадающую с пространством имен. Следует иметь в виду, что папки влияют на пространство имен, в котором обнаруживаются внедренные ресурсы. Если бы в предыдущем примере файл изображения находился во вложенной папке Icons, WPF (конструктор) искал бы значок панели элементов с именем Proseware.Core.Controls.Icons.ProseControl.Icon.png.

Если изображение не обнаруживается в том же пространстве имен, что и элемент управления, WPF (конструктор) ищет неточное соответствие.

Неточно соответствующее имя

Если WPF (конструктор) не находит полностью соответствующего ресурса, он ищет неточные соответствия во внедренных ресурсах сборки. В предыдущем примере WPF (конструктор) сначала ищет файл, имеющий полностью соответствующее имя Proseware.Core.Controls.ProseControl.Icon.Extension. Если этот поиск завершается неуспешно, WPF (конструктор) игнорирует пространство имен и ищет имя только на основе имени типа. В данном примере WPF (конструктор) ищет любые файлы в ресурсах с именем ProseControl.Icon.Extension. Если этот поиск завершается неуспешно, WPF (конструктор) начинает поиск из пространства имен по умолчанию. В данном примере WPF (конструктор) ищет файлы с именем Proseware.ProseControl.Icon.Extension.

Несколько размеров изображения

Имя файла изображения значка панели элементов может содержать необязательное поле "Icon". Эта подстрока позволяет задать несколько размеров изображения значка.

Для элемента управления ProseControl в предыдущем примере WPF (конструктор) находит в ресурсах следующие изображения и выбирает для размера наилучшее соответствие. 

  • Proseware.Core.Controls.ProseControl.Icon.Large.png

  • Proseware.Core.Controls.ProseControl.Icon.Medium.png

  • Proseware.Core.Controls.ProseControl.Icon.ReallyLarge.png

Можно также опустить точку после "Icon", чтобы задать следующие имена файлов.

  • Proseware.Core.Controls.ProseControl.IconLarge.png

  • Proseware.Core.Controls.ProseControl.IconMedium.png

  • Proseware.Core.Controls.ProseControl.IconReallyLarge.png

WPF (конструктор) выбирает значок панели элементов согласно следующим правилам.

  1. XAML векторного изображения.

  2. Точное соответствие по размеру в обоих измерениях.

  3. Ближайшее соответствие на основе размера и пропорций.

Рекомендуемый размер изображения для форматов файлов на основе растрового изображения — 64 x 64 точки.

WPF (конструктор) и Expression Blend используют для значка панели элементов разные размеры изображения. Expression Blend использует размер 24x24 в качестве размера большого значка и размер 12x12 в качестве размера мелкого значка. WPF (конструктор) использует только размер 16x16.

Если для основного приложения требуется размер 64x64 точки, и файл Proseware.Core.Controls.ProseControl.Icon.Large.png является наилучшим соответствием по размеру и пропорциям, используется этот файл. Проверяются все изображения в сборке. Если имеются два изображения с одинаковыми размером и пропорциями, решение о том, какое изображение использовать, принимается основным приложением.

См. также

Задачи

Пошаговое руководство. Создание пользовательского значка панели элементов для элемента управления

Другие ресурсы

Использование ресурсов