实现 UI 自动化 Value 控件模式

更新:2007 年 11 月

本主题介绍实现 IValueProvider 的准则和约定,其中包括有关事件和属性的信息。本主题的结尾列出了指向其他参考资料的链接。

ValuePattern 控件模式用于支持具有未跨越范围的内部值的控件,以及可用字符串表示的控件。视控件及其设置而定,此字符串是可编辑的。有关实现此模式的控件的示例,请参见 UI 自动化客户端的控件模式映射

本主题包括下列各节。

  • 实现准则和约定
  • IvalueProvider 必需的成员
  • 异常
  • 相关主题

实现准则和约定

实现 Value 控件模式时,请注意以下准则和约定:

  • 如果任何项的值是可编辑的,则诸如 ListItemTreeItem 等控件必须支持 ValuePattern,而不管控件的当前编辑模式如何。如果子项是可编辑的,则父控件还必须支持 ValuePattern

可编辑列表项的示例

可编辑的列表项。

  • 单行编辑控件支持通过实现 IValueProvider 编程访问其内容。但是,多行编辑控件不实现 IValueProvider;相反,它们通过实现 ITextProvider 来提供对其内容的访问。

  • 为了检索多行编辑控件的文本内容,控件必须实现 ITextProvider。但是,ITextProvider 不支持设置控件的值。

  • IValueProvider 不支持检索格式设置信息或子字符串值。在这些情况下,请实现 ITextProvider

  • IValueProvider 必须由诸如 Microsoft Word 中的“颜色选取器”选择控件(如下所示)之类的控件实现,该控件支持颜色值(例如,“黄色”)与等效的内部 RGB 结构之间的字符串映射。

色块字符串映射示例

突出显示黄色的颜色选取器。

IvalueProvider 必需的成员

实现 IValueProvider 需要以下属性和方法。

必需的成员

成员类型

说明

IsReadOnlyProperty

属性

ValueProperty

属性

SetValue

方法

异常

提供程序必须引发以下异常。

异常类型

条件

InvalidOperationException

SetValue

  • 如果将格式不正确的区域设置特定信息(如格式不正确的日期)信息传递到控件。

ArgumentException

SetValue

  • 如果无法将新值从字符串转换为控件可识别的格式。

ElementNotEnabledException

SetValue

  • 当尝试操作未启用的控件时。

请参见

任务

在 UI 自动化提供程序中支持控件模式

ValuePattern 插入文本示例

在 UI 自动化中使用缓存

概念

UI 自动化控件模式概述

客户端的 UI 自动化控件模式

UI 自动化树概述