Gallery 项
一个 gallery 项表示在 In-Ribbon 或 In-Dropdown gallery 内的单个图像。 也可以为 Gallery 项显示标题和说明文本:
Gallery 项通过 GalleryItem 类呈现。 该类提供了用于控制 gallery 项的多种显示外观的属性。
常规图像和悬浮图像
可以为 gallery 项提供常规图像和悬浮图像。
常规图像
当 gallery 项在常规状态下时,常规图像被显示。 可以通过 GalleryItem.Image 或 GalleryItem.ImageIndex 属性指定常规图像。
Image 类型的 Image 属性提供了指定图像的直接方式。 另一种把图像指派到 gallery 项的方式,是把将被所有 gallery 项使用的所有图像添加到一个 ImageCollection 集合中,把此集合绑定到 BaseGallery.Images 属性,然后通过 ImageIndex 属性来指定所需图像在集合中的索引号。
Image 属性有更高的优先权。 因此如果通过 Image 和 ImageIndex 属性把图像指派到了某个项,则 Image 属性指定的图像将被使用。
显示图像的矩形区域的大小由 BaseGallery.ImageSize 属性指定。 如果实际的图像大小大于或小于 ImageSize,则该图像将被拉伸以适合于 ImageSize。
如果需要动态绘制 gallery 的图像,则接管 BaseGallery.CustomDrawItemImage 事件。
悬浮图像
Gallery 项支持 悬浮图像 功能,但在默认情况下此功能被禁用。 要激活此功能,则把 gallery 的 BaseGallery.AllowHoverImages 属性设置为 true。 在这种情况下,当鼠标指针越过 gallery 项的常规图像时,将自动弹出一个悬浮图像。 通常悬浮图像呈现一个与常规图像对应的放大版本的图像。
可以使用 GalleryItem.HoverImage 或 GalleryItem.HoverImageIndex 属性来把悬浮图像指派到 gallery 项。 当 悬浮图像 功能被调用时,该图像将弹出在常规图像之上。 与常规图像类似,由 HoverImage 属性指定的悬浮图像比 HoverImageIndex 指定的悬浮图像有更高的优先权。
但是,可以仅使用常规图像来实现 悬浮图像 功能。 可以通过 GalleryItem.Image 或 GalleryItem.ImageIndex 属性把常规图像指派到某个 Gallery 项。 然后,通过 BaseGallery.ImageSize 和 BaseGallery.HoverImageSize 属性分别为常规图像和悬浮图像指定显示范围。 通常,把 HoverImageSize 设置为比 ImageSize 更大的值,因此当鼠标指针穿过特定的 gallery 项时,常规图像将被放大为 HoverImageSize 指定的大小,并且弹出这个放大版本的图像。
标题和说明
Gallery 项文本的外观设置由 RibbonGalleryAppearances.ItemCaption 和 RibbonGalleryAppearances.ItemDescription 属性指定。 通过 BaseGallery.Appearance 属性可以为个别的 gallery 指定这些设置,或者通过 BarAndDockingController.AppearancesRibbon 属性 (它是 BarAndDockingController 对象的成员) 为所有 galleries 同时指定这些设置。 注意,这些外观设置被应用于某个 gallery 内的所有 gallery 项。 如果需要定制个别 gallery 项的外观来让它们显得独特,则可以接管 BaseGallery.CustomDrawItemText 事件。 在下面的插图中,gallery 项的文本使用此事件进行绘制:
可以沿该项的图像的任意边缘来显示它的文本。 使用 BaseGallery.ItemImageLocation 属性来指定相对于该项文本的图像位置。
工具提示
Gallery 项支持工具提示,允许在工具提示窗口中提供关于特定项的更多细节。 要为 gallery 项指定工具提示,可以使用 GalleryItem.Hint 属性。 鼠标指针停留在某个项上时,将显示有特定提示的工具提示窗口。
如果 Hint 属性值设置为空字符串,则不显示工具提示。
在工具提示被显示在屏幕上之前,可以定制它们,也可以使用由 ToolTipController 对象提供的事件,来自定义绘制它们。 请参阅 工具提示管理 主题来获得更多信息。
Gallery 项的操作
要对单击某个 allery 项作出响应,可以接管 BaseGallery.ItemClick 事件。 使用该事件的参数可以识别被单击的 gallery 项和该项的 gallery。
分别由 In-Ribbon 及 In-Dropdown galleries 提供的 RibbonGalleryBarItem.GalleryItemClick 和 GalleryDropDown.GalleryItemClick 事件等效于 BaseGallery.ItemClick 事件。