Edit 控制項類型的 UI 自動化支援
注意
本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化。
本主題提供編輯控制項類型的 UI 自動化支援相關資訊。 在 UI 自動化,控制項類型是一組控制項條件,控制項必須符合條件才能使用 ControlTypeProperty 屬性。 這些條件包括 UI 自動化樹狀結構、UI 自動化屬性值和控制項模式的特定指導方針。
本主題提供編輯控制項類型之使用者介面自動化支援的相關資訊。
下列章節會定義編輯控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式與事件。 UI 自動化需求適用於所有編輯控制項,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms。
必要的使用者介面自動化樹狀結構
下表描述屬於編輯控制項的 UI 自動化樹狀結構內容檢視與控制項檢視,並描述各檢視可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
編輯 | 編輯 |
因為實作編輯控制項類型的控制項,在 UI 自動化樹狀結構的控制項檢視中是單行控制項,所以一律不會有捲軸。 在某些配置案例中,單行文字可能會換行。 編輯控制項類型最適合用於保存少量可編輯或可選取的文字。
必要的使用者介面自動化屬性
下表列出 UI 自動化屬性,其值或定義與編輯控制項特別有關。 如需 UI 自動化屬性的詳細資訊,請參閱用戶端的 UI 自動化屬性。
使用者介面自動化屬性 | 值 | 備註 |
---|---|---|
AutomationIdProperty | 請參閱備註。 | 此屬性的值在應用程式中的所有控制項都不得重複。 |
BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
ClickablePointProperty | 請參閱備註。 | 編輯控制項必須有可點選的點,當使用者按一下滑鼠時,會將輸入焦點置於控制項的編輯部分。 |
IsKeyboardFocusableProperty | 請參閱備註。 | 如果控制項可接收鍵盤焦點,就必定支援此屬性。 |
NameProperty | 請參閱備註。 | 編輯控制項的名稱通常是從靜態文字標籤產生的。 如果沒有靜態文字標籤,則必須由應用程式開發人員指定 Name 的屬性值。 Name 屬性不應該包含編輯控制項的文字內容。 |
LabeledByProperty | 請參閱備註。 | 如果控制項有關聯的靜態文字標籤,則這個屬性必須公開該控制項的參考。 如果文字控制項是其他控制項的子元件,則將不會設定 LabeledBy 屬性。 |
ControlTypeProperty | 編輯 | 此值與所有使用者介面架構的值相同。 |
LocalizedControlTypeProperty | 「編輯」 | 對應到編輯控制項類型的當地語系化字串。 |
IsContentElementProperty | True | 編輯控制項一律包含在 UI 自動化樹狀結構的內容檢視內。 |
IsControlElementProperty | True | 編輯控制項一律包含在 UI 自動化樹狀結構的控制項檢視內。 |
IsPasswordProperty | 請參閱備註。 | 包含密碼的編輯控制項必須設為 true。 如果編輯控制項包含密碼內容,則螢幕助讀程式可使用這個屬性來判斷在使用者輸入密碼時,是否應讀出所按的按鍵。 |
必要的使用者介面自動化控制項模式和屬性
下表列出所有編輯控制項都必須支援的控制項模式。 如需控制項模式的詳細資訊,請參閱 UI Automation Control Patterns Overview。
控制項模式/控制項模式屬性 | 支援/值 | 備註 |
---|---|---|
ITextProvider | 相依 | 編輯控制項應支援文字控制項模式,因為詳細的文字資訊應一律可供用戶端使用。 |
IValueProvider | 相依 | 所有採用字串的編輯控制項都必須公開值模式。 |
IsReadOnly | 請參閱備註。 | 這個屬性必須設定,以表示控制項是否可擁有以程式設計方式設定的值,或是否可由使用者編輯。 |
Value | 請參閱備註。 | 這個屬性將傳回編輯控制項的文字內容。 如果 IsPasswordProperty 設為 true ,在收到要求時,這個屬性必須引發 InvalidOperationException 。 |
IRangeValueProvider | 相依 | 所有使用數值範圍的編輯控制項必須公開範圍值控制項模式。 |
Minimum | 請參閱備註。 | 這個屬性必須是編輯控制項的內容可以設成的最小值。 |
Maximum | 請參閱備註。 | 這個屬性必須是編輯控制項的內容可以設成的最大值。 |
SmallChange | 請參閱備註。 | 這個屬性必須指定該值可以設定的小數位數。 如果編輯只能使用整數,則 SmallChangeProperty 必須為 1。 如果編輯使用 1.0 到 2.0 之間的範圍,則 SmallChangeProperty 必須為 0.1。 如果編輯控制項使用 1.00 到 2.00 之間的範圍,則 SmallChangeProperty 必須為 0.001。 |
LargeChange | Null |
編輯控制項無須公開這個屬性。 |
Value | 請參閱備註。 | 這個屬性將指定編輯控制項的數值內容。 當 UI 自動化用戶端在 Minimum 和 Maximum 屬性指定的範圍內設定了更精確的值時,Value 屬性將自動四捨五入至最接近的接受值。 |
必要的使用者介面自動化事件
下表列出所有編輯控制項必需支援的 UI 自動化事件。 如需事件的詳細資訊,請參閱 F:System.Windows.Automation.ValuePatternIdentifiers.ValueProperty。
UI 自動化事件 | 支援 | 備註 |
---|---|---|
InvalidatedEvent | 必要 | 無 |
TextSelectionChangedEvent | 必要 | 無 |
TextChangedEvent | 必要 | 無 |
BoundingRectangleProperty 屬性變更事件。 | 必要 | 無 |
IsOffscreenProperty 屬性變更事件。 | 必要 | 無 |
IsEnabledProperty 屬性變更事件。 | 必要 | 無 |
NameProperty 屬性變更事件。 | 必要 | 無 |
ValueProperty 屬性變更事件。 | 相依 | 無 |
HorizontallyScrollableProperty 屬性變更事件。 | 永不 | 無 |
HorizontalScrollPercentProperty 屬性變更事件。 | 永不 | 無 |
HorizontalViewSizeProperty 屬性變更事件。 | 永不 | 無 |
VerticalScrollPercentProperty 屬性變更事件。 | 永不 | 無 |
VerticallyScrollableProperty 屬性變更事件。 | 永不 | 無 |
VerticalViewSizeProperty 屬性變更事件。 | 永不 | 無 |
ValueProperty 屬性變更事件。 | 相依 | 如果此控制項支援範圍值控制項模式,就必須支援這個事件。 |
AutomationFocusChangedEvent | 必要 | 無 |
StructureChangedEvent | 必要 | 無 |