Как добавить панели инструментов значок управления Silverlight
История изменений:
- впервые опубликовано на 1/21/2008 для Silverlight 2/VS2008/Toolkit выпуска декабрь 2008 года.
- обновление 12/5/2009 для Silverlight 4/VS2010/Blend3/Toolkit ноября 2009 выпуска.
Элементы управления в Silverlight выполнения (например, system.windows.dll) и SDK (например, system.windows.controls.dll) имеют хороший инструментарий иконки в Visual Studio и Blend. Декабрь 2008 выпуск Silverlight Toolkit добавил, что для Toolkit контролирует также, как описано в моем предыдущем посте время разработки возможности в Silverlight Toolkit :
Это сообщение объясняет, как это делается в Silverlight 2 SDK, и в декабре 2008 года выпуска Silverlight Toolkit.
Управление иконки в Run время сборки
Выпуск декабря 2008 года Silverlight Toolkit показал, как вставлять инструментов иконки для управления без использования сборки разработки.
Открытое Silverlight.Controls.sln в Visual Studio (см. предыдущий пост время разработки функций реализации в Silverlight Toolkit для получения дополнительной информации о том, как загрузить исходный набор инструментов):
Или открытые Controls.csproj в блокнот:
<ItemGroup>
<EmbeddedResource Include="Microsoft.Windows.Controls.AutoCompleteBox.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.DockPanel.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.Expander.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.Label.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.TreeView.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.Viewbox.Icon.png" />
</ ItemGroup>
Или открытые Microsoft.Windows.Controls.dll в отражатель:
Все три показывают, что пользовательские иконки инструментов, внедренных ресурсов во время сборки Microsoft.Windows.Controls.dll, уделяя особое именования. Возьмите выше Microsoft.Windows.Controls.Microsoft.Windows.AutoCompleteBox.Icon.png в качестве примера:
- Первый Microsoft.Windows.Controls корень пространства имен, указанных в controls.csproj файл строку: <RootNamespace> System.Windows.Controls </ RootNamespace>
- Следующий Microsoft.Windows.Controls.AutoCompleteBox это полное имя класса AutoCompleteBox, в том числе имен, но не сборка.
- Остальные названия, icon.png, указать тип ресурса значка, как это будет объяснено позже.
Иконки управления в режиме конструктора Ассамблеи время
Silverlight 2 SDK продемонстрировали подход встраивания иконки управления в дизайне время сборки.
Открытое System.Windows.Controls.Design.dll в отражатель (он установлен в% ProgramFiles% \ Microsoft SDK, \ Silverlight \ v2.0 \ Libraries \ Client):
Возьмите выше Controls.Design.Icons.Calendar.bmp в качестве примера:
- Controls.Design корень пространства имен, указанных в его CSPROJ файл с линии <RootNamespace> Controls.Design </ RootNamespace>
- Иконки есть подпапки, где находится файл Calendar.bmp в дерево исходных текстов
- Calendar.bmp это имя файла ресурса иконки в дерево исходных текстов
Управление ресурсами Icon Naming Convention
Итак, из выше двух примерах мы видим, что пользовательские иконки инструментов для управления встроенными ресурсами в любой сборки во время выполнения (так что вам не нужно отправлять проектирования сборок времени), или время проектирования сборки (у вас есть возможность изменить иконки , как локализовать ее на другой культуры, не прикасаясь к ходу времени сборки). Инструментов (Visual Studio 2008 SP1 на данный момент) попытаться найти значки на основе специального соглашения об именах:
- Поиск ресурсов именем файла без расширения соответствует типу имя элемента управления, в том числе имен, с "{XAML | BMP | PNG | GIF | JPG | JPEG} [значок *.].».
- Обратите внимание, что подкаталоги влияет на пространство имен, в которых встроенные средства находятся. Например, Инструментарий иконки ставятся под подпапку Microsoft.Windows.Controls, чтобы не подвергать эту длинную строку в имени файла значка, в то время как SDK положить все иконки в папку Icons.
- Поддерживаемые форматы и типы файлов: XAML, BMP, GIF, JPG, JPEG и PNG
- Рекомендуемые размер изображения для растровых форматов файлов на основе 64 × 64.
- [. Значок *] в именовании не является обязательным и позволяет указать несколько размеров изображения, используемого в качестве значка. Матч следует по следующему алгоритму:
- Векторные XAML
- Если точное соответствие по размеру (и размеры) использовать
- Используйте ближайший матч в зависимости от размера и пропорций
- Если данный файл ресурсов не является допустимым XAML или действительный файл изображения, следующий матч будет использоваться, пока не будет найден.
- Если изображение не найден в том же пространстве имен, как контроль, свободная матча в зависимости от типа имя только будут искать на все ресурсы, как в случае с SDK.
- Различные узлы используют различные размеры изображений для их инструментов значок.
- Смесь используется 24 × 24 для их большого размера и 12 × 12 для своего небольшого размера (я не думаю, что это работает в Blend 2 SP1).
- Сидр (Visual Studio) использует 16 × 16 BMP файлов.
Сообщение в блоге Указание инструментов иконка для элемента управления в WPF Designer описывает именования более подробно.
Обновление для Blend3 и VS2010
С этой должности был впервые опубликован на 1/21/2008, мы сделали два основных улучшений в области контроля иконки:
- Blend 3 показывает иконки для управления тоже: большие иконки (24 × 24) в библиотеке активов, и маленькие иконки (12 × 12), объекты и сроки. Смотрите Silverlight время разработки: Инструментарий июля 2009 Выпуск обновлений для получения дополнительной информации.
- Вы можете зарегистрировать свой контроль (и связанные с ними иконки) с Blend 3 и Visual Studio 2010. Смотрите Регистрация Silverlight управления с Visual Studio и смесь для получения дополнительной информации.
- Именования значок ресурса пересмотрены вместе с именования сборок время разработки. Смотрите Silverlight время разработки Ассамблеи для получения дополнительной информации о расширенной именования сборок время разработки. Пожалуйста, обратите внимание, что поиск ресурсов значок в порядке, обратном загрузке порядок разработки метаданных времени, т. е. смесь будет искать для встраиваемых значок ресурсов для контроля над ресурсами со значком именования в * Expression.Design * DLL в первую очередь.. только если он не будет смешиваться искать общий * Проектирование * DLL секунду.. и только в том случае, если снова не будет его искать соответствующие DLL времени выполнения для встроенного ресурса значка, а если все не удалось, Blend появится значок по умолчанию для контролировать. Visual Studio 2010 делает его одинаково, но ищет *. VisualStudio.Design *. DLL в первую очередь.
- Смесь и Visual Studio теперь поддерживает более значок формата и масштаба значок, если желаемый размер ресурсов (24 × 24 и 12 × 12 для смешивания и 16 × 16 VS) не найден.
Silverlight Toolkit использовать следующие обозначения для встраивания значок ресурсы:
- использовать полные имена (+ имен типа, напр. System.Windows.Controls.Calendar), а не только имена типов (например, календарь), чтобы избежать двусмысленности.
- положить иконки для смешивания в общем. design.dll и значки на панели элементов Visual Studio в. VisualStudio.Design *. библиотек. Таким образом, VS2010 может отображать значок правой панели инструментов, если он существует в VisualStudio.Design * DLL,.. Если нет, то VS2010 можете загрузить значок Blend, масштаб его до 16 × 16, и отобразить его в панели инструментов.
- положил значок ресурса во время выполнения DLL только в качестве крайней меры (например, чтобы избежать поставки проектирования сборок время единственный ресурс значок).
Вы можете увидеть значок управления ресурсами именования в Silverlight Toolkit исходного кода :








Последние комментарии