实现 UI 自动化 Value 控件模式
更新:2007 年 11 月
本主题介绍实现 IValueProvider 的准则和约定,其中包括有关事件和属性的信息。本主题的结尾列出了指向其他参考资料的链接。
ValuePattern 控件模式用于支持具有未跨越范围的内部值的控件,以及可用字符串表示的控件。视控件及其设置而定,此字符串是可编辑的。有关实现此模式的控件的示例,请参见 UI 自动化客户端的控件模式映射。
本主题包括下列各节。
- 实现准则和约定
- IvalueProvider 必需的成员
- 异常
- 相关主题
实现准则和约定
实现 Value 控件模式时,请注意以下准则和约定:
- 如果任何项的值是可编辑的,则诸如 ListItem 和 TreeItem 等控件必须支持 ValuePattern,而不管控件的当前编辑模式如何。如果子项是可编辑的,则父控件还必须支持 ValuePattern。
可编辑列表项的示例
单行编辑控件支持通过实现 IValueProvider 编程访问其内容。但是,多行编辑控件不实现 IValueProvider;相反,它们通过实现 ITextProvider 来提供对其内容的访问。
为了检索多行编辑控件的文本内容,控件必须实现 ITextProvider。但是,ITextProvider 不支持设置控件的值。
IValueProvider 不支持检索格式设置信息或子字符串值。在这些情况下,请实现 ITextProvider。
IValueProvider 必须由诸如 Microsoft Word 中的“颜色选取器”选择控件(如下所示)之类的控件实现,该控件支持颜色值(例如,“黄色”)与等效的内部 RGB 结构之间的字符串映射。
色块字符串映射示例
- 在允许调用 SetValue 之前,控件应将其 IsEnabledProperty 设置为 true 并将其 IsReadOnlyProperty 设置为 false。
IvalueProvider 必需的成员
实现 IValueProvider 需要以下属性和方法。
必需的成员 |
成员类型 |
说明 |
---|---|---|
属性 |
无 |
|
属性 |
无 |
|
方法 |
无 |
异常
提供程序必须引发以下异常。
异常类型 |
条件 |
---|---|
|
|
|
|
|