備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題介紹實作 IValueProvider的指導方針和慣例,包括事件和屬性的相關信息。 主題結尾會列出其他參考的連結。
控制項 ValuePattern 模式可用來支援內建值未跨越範圍且可表示為字串的控制項。 視控件及其設定而定,此字串可以編輯。 如需實作此模式的控件範例,請參閱 UI自動化用戶端的控件模式對應。
實作指導方針和慣例
實作 Value 控件模式時,請注意下列指導方針和慣例:
- 類似 ListItem 和 TreeItem 的控制項必須支援 ValuePattern,當任何專案的值是可編輯的時候,不論控制項目前的編輯模式為何。 如果子專案可編輯,父控件也必須支援 ValuePattern 。
可編輯清單專案的範例
單行編輯控件透過實作 IValueProvider 支援程式存取其內容。 不過,多行編輯控制項不會實作 IValueProvider,而是藉由實作 ITextProvider來提供存取其內容的權限。
若要擷取多行編輯控制件的文字內容,控制項必須實 ITextProvider作 。 不過, ITextProvider 不支援設定 控件的值。
IValueProvider 不支援擷取格式化資訊或子字串值。 在這些情境中執行ITextProvider。
IValueProvider 必須由來自 Microsoft Word 的 色彩選擇器 選取控件等控件實作,此控件支援色彩值(例如“yellow”)與相等的內部 RGB 結構之間的字串對應。
色彩樣本字串對應的範例
- 控制項應將 IsEnabledProperty 設定為
true
並將 IsReadOnlyProperty 設定為false
,然後才能允許呼叫 SetValue。
IValueProvider 的必要成員
實作 IValueProvider需要下列屬性和方法。
必要成員 | 成員類型 | 註釋 |
---|---|---|
IsReadOnlyProperty | 房產 | 沒有 |
ValueProperty | 房產 | 沒有 |
SetValue | 方法 | 沒有 |
例外狀況
提供者必須擲回下列例外狀況。
例外狀況類型 | 狀況 |
---|---|
InvalidOperationException | SetValue - 如果地區設定特定資訊以不正確的格式傳遞給控件,例如格式不正確的日期。 |
ArgumentException | SetValue - 如果無法將新值從字串轉換成控件所辨識的格式。 |
ElementNotEnabledException | SetValue 嘗試操作未啟用的控制項時。 |