注释
本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化。
本主题提供有关图像控件类型的 UI 自动化支持的信息。 在 UI 自动化中,控件类型是控件为了使用属性 ControlTypeProperty 而必须满足的一组条件。 这些条件包括 UI 自动化树结构、UI 自动化属性值和控件模式的特定准则。
用作图标、信息图形和图表的图像控件将支持图像控件类型。 用作背景或水印图像的控件将不支持图像控件类型。
以下部分定义图像控件类型的所需 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于所有图像控件,无论是 Windows Presentation Foundation(WPF)、Win32 还是 Windows 窗体。
必需的 UI 自动化树结构
下表描述了与图像控件相关的 UI 自动化树的控件视图和内容视图,并描述了每个视图中可包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
图片 | 图像(取决于图像是否包含信息(基于 IsContentElement 属性值) |
所需的 UI 自动化属性
下表列出了其值或定义与图像控件类型特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅 客户端的 UI 自动化属性。
UI 自动化属性 | 价值 | 注释 |
---|---|---|
AutomationIdProperty | 请参阅备注。 | 此属性的值需要在应用程序中的所有控件中唯一。 |
BoundingRectangleProperty | 请参阅备注。 | 包含整个控件的最外侧矩形。 |
ClickablePointProperty | 请参阅备注。 | 图像控件的可单击点必须是图像控件边界矩形内的一个点。 |
IsKeyboardFocusableProperty | 请参阅备注。 | 如果控件可以接收键盘焦点,它必须支持此属性。 |
NameProperty | 请参阅备注。 | 必须为包含信息的所有图像控件公开 Name 属性。 以编程方式访问此信息需要提供与图形等效的文本。 如果图像控件纯粹是装饰性的,则它只能显示在 UI 自动化树的控件视图中,并且不需要具有名称。 UI 框架必须支持可从其框架内设置的图像的 ALT 或备用文本属性。 然后,此属性将映射到 UI 自动化名称属性。 |
LabeledByProperty | 请参阅备注。 | 如果有静态文本标签,则此属性必须公开对该控件的引用。 |
ControlTypeProperty | 图片 | 对于所有 UI 框架,此值相同。 |
LocalizedControlTypeProperty | “图像” | 对应于图像控件类型的本地化字符串。 |
IsContentElementProperty | 请参阅备注。 | 当图像控件包含尚未向最终用户公开有意义的信息时,该图像控件必须包含在 UI 自动化树的内容视图中。 |
IsControlElementProperty | 真 实 | 图像控件始终包含在 UI 自动化树的控件视图中。 |
HelpTextProperty | 请参阅备注。 | HelpText 属性公开一个本地化字符串,该字符串描述控件的实际视觉外观(例如,带有白色“X”的红色方块)或其他与图像关联的工具提示信息。 如果需要较长的说明来传达有关图像控件的详细信息,则必须支持此属性。 例如,复杂的图表或关系图。 此属性映射到 HTML LongDesc 标记和可缩放矢量图形 (SVG) Desc 标记。 使用图像控件的开发人员必须支持一个属性,以允许在控件上设置视觉说明。 此属性必须映射到 UI 自动化 VisualDescription 属性。 |
ItemStatusProperty | 请参阅备注。 | 如果图像控件表示有关屏幕上特定项的状态信息,则控件应包含在该项中。 当图像包含在项中时,该项必须支持状态属性,并在状态更改时引发相应的通知。 如果图像是独立控件,并且正在传达状态,则必须支持此属性。 |
必需的 UI 自动化控件模式
下表列出了所有图像控件支持所需的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI 自动化控件模式概述。
控件模式 | 支持 | 注释 |
---|---|---|
IGridItemProvider | 取决于 | 如果控件位于网格容器中,则图像控件支持网格项模式。 |
ITableItemProvider | 取决于 | 如果控件位于具有标头控件的容器中,则映像控件支持表项模式。 |
IInvokeProvider | 从不 | 如果图像控件包含可单击的图像,则该控件应支持一种支持“调用”模式的控件类型(例如,按钮控件类型)。 |
ISelectionItemProvider | 从不 | 图像控件不应支持选择项模式。 |
所需的 UI 自动化事件
下表列出了所有图像控件支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述。
UI 自动化事件 | 支持 | 注释 |
---|---|---|
InvokedEvent | 从不 | 没有 |
ElementAddedToSelectionEvent | 从不 | 没有 |
ElementRemovedFromSelectionEvent | 从不 | 没有 |
ElementSelectedEvent | 从不 | 没有 |
BoundingRectangleProperty 属性更改事件。 | 必选 | 没有 |
IsOffscreenProperty 属性更改事件。 | 必选 | 没有 |
IsEnabledProperty 属性更改事件。 | 必选 | 没有 |
NameProperty 属性更改事件。 | 必选 | 没有 |
AutomationFocusChangedEvent | 必选 | 没有 |
StructureChangedEvent | 必选 | 没有 |