工具箱图标
可以在 Visual Studio 和 Expression Blend 中的自定义 WPF 和 Silverlight 控件中引入工具箱图标。 本主题描述如何对工具箱图标命名以及如何将它们包括为嵌入资源。
支持的文件类型
下面的列表显示了 适用于 Visual Studio 的 WPF 设计器中的工具箱图标支持的文件类型。
BMP
GIF
JPG
JPEG
PNG
提示
Expression Blend 仅支持 .png 文件。
命名约定
通过遵循命名约定将工具箱图标与自定义控件关联。 设计工具检查控件程序集内的嵌入资源,以找到相应命名的图像文件。
在最简单的情况下,将工具箱图标图像文件作为嵌入资源添加到控件的项目中。 将它命名为 控件名称.扩展名,然后在“属性”窗口中,将它的**“生成操作”设置为“嵌入的资源”**。 WPF 设计器搜索文件名与控件的类型名称匹配的资源。 有关更多信息,请参见演练:为控件创建自定义工具箱图标。
提示
为了实现向后兼容,Visual Studio 2010 支持由 Visual Studio 2008 使用的命名约定。 有关更多信息,请参见Visual Studio 2008 中的工具箱图标。
Visual Studio 2010 支持下面的工具箱图标命名约定。 方括号 ([]) 中的子字符串是可选的。
[任意字符串]命名空间.控件名称[.产品][.任意字符串].扩展名
当设计器搜索工具箱图标时,它会对命名空间、控件名称 和产品 子字符串进行匹配。 如果命名空间 和控件名称 与您的控件不匹配,图标不会显示在工具箱中。
设计器可以使用产品 子字符串筛选出其他产品的图标。 例如,Visual Studio 首选产品 设置为“VisualStudio”的图标。
下面的列表显示了可用于 Visual Studio 和 Expression Blend 图标的工具箱图标命名约定示例。
命名空间.控件名称.VisualStudio.扩展名
命名空间.控件名称.VisualStudio.任意字符串.扩展名
命名空间.控件名称.Expression.png
命名空间.控件名称.Expression.任意字符串.png
如果没有找到与上述名称相匹配的图标,则将搜索以下名称。
命名空间.控件名称.扩展名
命名空间.控件名称.任意字符串.扩展名
下面的列表显示了 TailspinToysControlLibrary 命名空间中 TailspinToysControl 控件的工具箱图标名称示例。 添加了有关图像格式的其他可选信息,但是设计器不使用它们。
TailspinToysControlLibrary.TailspinToysControl.VisualStudio.24bit.48x48.bmp
TailspinToysControlLibrary.TailspinToysControl.Expression.4bit.16x16.png
在设计器找到工具箱图标后,将加载与设计器的目标图标大小最匹配的图标,以显示该图标。 下面的列表显示了匹配条件的应用顺序。
选择在图标名称中指定了设计器的图标,而不选择未指定设计器的图标。 例如,WPF 设计器 首选名称中包含“VisualStudio”的图标,而不选择名称中包含“Expression”的图标。
选择与呈现大小最匹配的图标。 Visual Studio 工具箱加载与 16x16 像素最接近的图标,然后将该图标映射到 24 位颜色深度。
选择第一个找到的图标。
重写默认的工具箱图标
可以使用 WPF 设计器扩展性框架重写嵌入在控件的运行时程序集中的工具箱图标。 有关更多信息,请参见演练:为工具箱图标提供元数据。