備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題提供文字控件類型的UI自動化支援相關信息。 在UI自動化中,控件類型是控制項必須符合的一組條件,才能使用 ControlTypeProperty 屬性。 這些條件包括UI自動化樹狀結構、UI自動化屬性值和控件模式的特定指導方針。
文字控制件是代表螢幕上一段文字的基本使用者介面專案。
下列各節會定義文字控件類型所需的UI自動化樹狀結構、屬性、控件模式和事件。 使用者介面自動化需求適用於所有文字控件,無論是 Windows Presentation Foundation (WPF)、Win32 還是 Windows Forms。
必要的 UI 自動化樹狀結構
下表描述與文字控件相關的UI自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需UI自動化樹狀結構的詳細資訊,請參閱 UI自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
文字 | 文字(如果內容) |
文字控制項可以單獨做為標籤或表單上的靜態文字使用。 它也可以被包含在某個結構中:
清單項目
TreeItem
DataItem
文字控制項可能不在UI自動化樹狀結構的內容檢視中,因為文字通常會透過 NameProperty
另一個控件來顯示。 例如,標記下拉式方塊控件的文字是通過該控件的NameProperty
值公開的。 因為組合框控制項位於 UI 自動化樹的內容檢視中,所以不需要有文字控制項。 文本控件在內容檢視中始終沒有子元件。
必要的UI自動化屬性
下表列出UI自動化屬性,其值或定義與文字控件特別相關。 如需UI自動化屬性的詳細資訊,請參閱 用戶端的UI自動化屬性。
UI 自動化屬性 | 價值觀 | 註釋 |
---|---|---|
AutomationIdProperty | 請參閱備註。 | 這個屬性的值在應用程式中的所有控件中必須是唯一的。 |
BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
ClickablePointProperty | 請參閱備註。 | 如果有周框,則支援 。 如果周框內的每個點都無法點選,而且您執行特製化的點擊測試,則覆寫並提供可點選的點。 |
IsKeyboardFocusableProperty | 請參閱備註。 | 如果控制項可接收鍵盤焦點,就必定支援此屬性。 |
NameProperty | 請參閱備註。 | 文字列控件的名稱一律是其顯示的 txt。 |
LabeledByProperty | Null |
文字控制件沒有靜態文字標籤。 |
ControlTypeProperty | 文字 | 此值與所有使用者介面架構的值相同。 |
LocalizedControlTypeProperty | 文字 | 對應到文字控制類型的本地化字串。 |
IsContentElementProperty | 視情況而定 | 如果文字控件包含另一個控件的 NameProperty 中未公開的資訊,則文字控制件會是內容。 |
IsControlElementProperty | 對 | 文字控件一律必須是 控件。 |
必要的使用者介面自動化控制模式
下表列出文字控制項需要支援的UI自動化控制件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。
控制件模式 | 支援 | 註釋 |
---|---|---|
IValueProvider | 從不 | 文字絕不支援 ValuePattern。 如果文字是可編輯的,則這是 [編輯] 控制項類型。 |
ITextProvider | 視情況而定 | 文字應該支援文字控件模式,以取得更好的輔助功能;不過,並非必要。 當文字具有豐富的樣式和屬性時,文字控件模式很有用(例如色彩、粗體和斜體)。取決於架構。 |
ITableItemProvider | 視情況而定 | 如果 text 元素包含在 Table 控制項內,則必須支援該功能。 |
IRangeValueProvider | 視情況而定 | 如果文字元素包含在表格控件內,則必須支援此元素。 |
必要的UI自動化事件
下表列出所有文字控制項都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀。
UI 自動化事件 | 支援 | 註釋 |
---|---|---|
TextSelectionChangedEvent | 為必填項目 | 沒有 |
TextChangedEvent | 為必填項目 | 沒有 |
BoundingRectangleProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsOffscreenProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsEnabledProperty 屬性變更事件。 | 為必填項目 | 沒有 |
NameProperty 屬性變更事件。 | 為必填項目 | 沒有 |
ValueProperty 屬性變更事件。 | 從不 | 沒有 |
AutomationFocusChangedEvent | 為必填項目 | 沒有 |
StructureChangedEvent | 為必填項目 | 沒有 |