Как Добавить Toolbox значок Silverlight Control
История изменений:
- впервые опубликованных на 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 Инструментарий добавил, что для Инструментарий управления тоже, как описано в моей предыдущей заметке Дизайн время возможности в Silverlight Инструментарий :
Эта должность описывается, как это делается в Silverlight 2 SDK, и в декабре 2008 года выпуска Silverlight Toolkit.
Контроль иконки в Ран Ассамблеи время
Декабрь 2008 Освобождение Silverlight Инструментарий показано, как вставлять значки инструментов для управления без использования собраний проектирования.
Открыть Silverlight.Controls.sln в Visual Studio (см. предыдущий пост Дизайн Время выполнения функций в Silverlight Инструментарий для получения дополнительной информации о том, как загрузить инструментарий источник):
Или открытый 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 \ библиотеки \ 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 положить все иконки в подпапку Иконы.
- Поддержка расширений и типов файлов: XAML, BMP, GIF, JPG, JPEG и PNG
- Рекомендуем размера изображения для растровых форматов файла 64 × 64.
- [. Икона *] в именовании является обязательным и позволяет указать несколько размеров изображения, которое используется в качестве иконы. Матч следует следующий алгоритм:
- Векторный XAML
- Если есть точное соответствие по размеру (как размеры), используют его
- Использование ближайший матч в зависимости от размера и пропорций
- Если данный файл ресурсов не действует XAML или действительный файл изображения, следующий матч будет использоваться до 1 найден.
- Если изображение не нашли в том же пространстве имен, как контроль, свободные матч в зависимости от типа одно имя будет искаться в отношении всех ресурсов, как и в случае SDK.
- Различные хосты используют разные размеры изображений для их инструментов значок.
- Blend использует 24 × 24 для своих больших размеров и 12 × 12 для их небольшого размера (я не думаю, что это работает в Blend 2 SP1).
- Сидр (Visual Studio) использует 16 × 16 файлов BMP.
Блога Указание Icon Toolbox для управления в конструкторе WPF описывает именования подробнее.
Обновление для Blend3 и VS2010
Поскольку эта должность была впервые опубликована на 1/21/2008, мы сделали два ключевых усовершенствований в области контроля иконок:
- Blend 3 показывает иконки для контроля тоже: большие иконки (24 × 24) в библиотеке активами, а также маленькие значки (12 × 12) в объекты и сроки. Смотреть Silverlight Дизайн Время: Инструментарий июля 2009 Выпуск обновления для получения дополнительной информации.
- Вы можете зарегистрировать свой контроль (и связанных с ними иконы) с Blend 3 и Visual Studio 2010. См. Регистрация управления Silverlight с Visual Studio и Blend для получения дополнительной информации.
- Именовании для значок ресурса пересмотрены в сотрудничестве с именовании для собраний проектирования. См. Silverlight Дизайн Время Ассамблеи для получения дополнительной информации о расширенной именования времени собраний дизайна. Пожалуйста, обратите внимание, что поиск значок ресурсов в порядке, обратном загрузке порядка проектирования метаданных, например, Blend будет искать для встраиваемых значок ресурсов для контроля над ресурсами со значок именования в формате *. Expression.Design *. DLL в первую очередь; только если он не будет Blend поиск общих *. Дизайн *. DLL вторых, и только тогда, если не удается снова его поискать соответствующие DLL исполнения для встроенных значок ресурсов, и если все они провалились, Blend появится значок по умолчанию для контроля. Visual Studio 2010 делает это аналогичным образом, но ищет *. VisualStudio.Design *. DLL в первую очередь.
- Blend и Visual Studio теперь поддерживает более значок формат, и будет содействовать расширению значок, если требуемый размер ресурсов (24 × 24 × 12 и 12 для Blend, а также 16 × 16 для VS) не найдена.
Silverlight Инструментарий использовать следующие обозначения для вложения значок ресурсы:
- использовать полные имена (имена + типа, напр. System.Windows.Controls.Calendar), а не просто названия типов (например календарь), чтобы избежать двусмысленности.
- положить иконки для Blend в общем. design.dll и иконки для панели инструментов Visual Studio в. VisualStudio.Design *. DLL. Таким образом, VS2010 может отображать значок правой панели инструментов, если существует. VisualStudio.Design *. DLL, а если нет, VS2010 можете загрузить значок Blend, масштабировать его до 16 × 16, и отображает их в панели инструментов.
- положил икону ресурсов во время выполнения DLL только в качестве последнего средства (например, чтобы избежать поставки собраний время разработки только с ресурсов иконка).
Вы можете увидеть значок управления ресурсами именования в Silverlight Инструментарий исходный код :








Проверить http://www.ArtistsValley.com для некоторых обширных и Silverlight XAML иконки по отличной цене!