ComboBox 控制項類型的 UI 自動化支援
注意
本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化。
本主題提供 ComboBox 控制項類型的 UI 自動化支援相關資訊。 在 UI 自動化中,控制項類型是一組控制項條件,控制項必須符合條件才能使用 ControlTypeProperty 屬性。 這些條件包括 UI 自動化樹狀結構、UI 自動化屬性值、控制項模式與 UI 自動化事件的特定指導方針。
下拉式方塊是與靜態控制項結合的清單方塊,或是在下拉式方塊的清單方塊部分中顯示目前選取項目的編輯控制項。 控制項的清單方塊部分會隨時顯示,或是只在使用者選取下拉式箭號 (這是按鈕) 時出現在控制項旁邊。 如果選取項目欄位是編輯控制項,使用者可以輸入不在清單中的資訊,否則使用者只能選取清單中的項目。
下列章節會定義 ComboBox 控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式與事件。 UI 自動化需求適用於所有下拉式方塊控制項,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms 皆然。
必要的使用者介面自動化樹狀結構
下表描述與下拉式方塊控制項相關的 UI 自動化樹狀結構的內容檢視與控制項檢視,並說明各檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
ComboBox - 編輯 (0 或 1) - 清單 (1) - 清單項目 (子系清單;0 到多個) - 按鈕 (1) |
ComboBox - 清單項目 (0 到多個) |
下拉式方塊控制項檢視中的編輯控制項只有在下拉式方塊是可以編輯來接受任何輸入時才需要,就如同 [執行] 對話方塊中的下拉式方塊的案例。
必要的使用者介面自動化屬性
下表列出的 UI 自動化屬性,其值或定義與下拉式方塊控制項特別有關。 如需 UI 自動化屬性的詳細資訊,請參閱用戶端的 UI 自動化屬性。
使用者介面自動化屬性 | 值 | 備註 |
---|---|---|
AutomationIdProperty | 請參閱備註。 | 此屬性的值在應用程式中的所有控制項都不得重複。 |
BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
ClickablePointProperty | 請參閱備註。 | 如果有週框即受支援。 如果週框中沒有任何可點選的點,而且您執行的是特殊化點擊測試,則會覆寫並提供可點選的點。 |
ControlTypeProperty | ComboBox | 此值與所有使用者介面架構的值相同。 |
HelpTextProperty | 請參閱備註。 | 下拉式方塊控制項的說明文字應該解釋為什麼會要求使用者從下拉式方塊選擇一個選項。 文字類似於透過工具提示呈現的資訊。 例如,「選取項目以設定顯示器的解析度。」 |
IsContentElementProperty | True | 此下拉式方塊控制項一律包含在 UI 自動化樹狀結構的內容檢視。 |
IsControlElementProperty | True | 此下拉式方塊控制項一律包含在 UI 自動化樹狀結構的控制項檢視。 |
IsKeyboardFocusableProperty | True | 下拉式方塊控制項會公開一組來自選取範圍容器的項目。 下拉式方塊控制項可以接收鍵盤焦點,不過當使用者介面自動化用戶端將焦點設定在下拉式方塊時,下拉式方塊子樹狀結構中的任何項目都可能會接收焦點。 |
LabeledByProperty | 請參閱備註。 | 下拉式方塊控制項通常會有此屬性參考的靜態文字標籤。 |
LocalizedControlTypeProperty | 下拉式方塊 | 對應到 ComboBox 控制項類型的當地語系化字串。 |
NameProperty | 請參閱備註。 | 下拉式方塊控制項的名稱通常來自靜態文字控制項。 |
必要的使用者介面自動化控制項模式
下表列出所有下拉式方塊控制項必須支援的 UI 自動化控制項模式。 如需控制項模式的詳細資訊,請參閱 UI Automation Control Patterns Overview。
控制項模式 | 支援 | 備註 |
---|---|---|
IExpandCollapseProvider | Yes | 下拉式方塊控制項必須一律包含下拉式按鈕才能成為下拉式方塊。 |
ISelectionProvider | Yes | 在下拉式方塊中顯示目前選取範圍。 這項支援委派給下拉式方塊下方的清單方塊。 |
IValueProvider | 相依 | 如果下拉式方塊能夠接受任意文字值,則必須支援值模式。 此模式會提供以程式設計方式設定下拉式方塊字串內容的能力。 如果值模式不受支援,這表示使用者必須從下拉式方塊子樹狀結構中的清單項目進行選取。 |
IScrollProvider | 永不 | 一律不會直接在下拉式方塊上支援捲動模式。 如果包含在下拉式方塊內的清單方塊可以捲動,便支援它。 只有當清單方塊顯示在螢幕上時才可支援它。 |
必要的事件
下表列出所有下拉式方塊控制項必須支援的 UI 自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
UI 自動化事件 | 支援 | 備註 |
---|---|---|
AutomationFocusChangedEvent | 必要 | 無 |
BoundingRectangleProperty 屬性變更事件。 | 必要 | 無 |
IsOffscreenProperty 屬性變更事件。 | 必要 | 無 |
IsEnabledProperty 屬性變更事件。 | 必要 | 無 |
StructureChangedEvent | 必要 | 無 |
ExpandCollapseStateProperty 屬性變更事件。 | 必要 | 無 |
ValueProperty 屬性變更事件。 | 相依 | 如果此控制項支援值模式,就必須支援這個事件。 |