共用方式為


文字控制項類型的UI自動化支援

備註

本檔適用於想要使用 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 為必填項目 沒有

另請參閱