Button 控制項類型的 UI 自動化支援
注意
本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化。
本主題提供按鈕控制項類型的 UI 自動化支援相關資訊。 在 UI 自動化中,控制項類型是一組控制項條件,控制項必須符合條件才能使用 ControlTypeProperty 屬性。 這些條件包括 UI 自動化樹狀結構、UI 自動化屬性值、控制項模式與 UI 自動化事件的特定指導方針。
按鈕是可供使用者互動的物件,能在對話方塊執行如 [確定] 和 [取消] 按鈕等動作。 按鈕控制項的公開方式很簡單,因為它對應的是使用者想要完成的單一命令。
下列章節會定義按鈕控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式與事件。 UI 自動化需求適用於所有的按鈕控制項,無論是 Windows Presentation Foundation (WPF)、Win32 還是 Windows Forms 皆然。
必要的使用者介面自動化樹狀結構
下表描述與按鈕控制項相關的 UI 自動化樹狀結構的內容檢視與控制項檢視,並說明各檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
Button - 影像 (0 個以上) - 文字 (0 或更多) |
Button |
必要的使用者介面自動化屬性
下表列出的 UI 自動化屬性,其值或定義與實作按鈕控制項類型的控制項 (例如按鈕控制項) 特別有關。 如需 UI 自動化屬性的詳細資訊,請參閱用戶端的 UI 自動化屬性。
使用者介面自動化屬性 | 值 | 備註 |
---|---|---|
AcceleratorKeyProperty | 請參閱備註。 | 按鈕控制項一般必須支援快速鍵,讓使用者可以從鍵盤快速執行它所代表的動作。 |
AutomationIdProperty | 請參閱備註。 | 此屬性的值在應用程式中的所有控制項都不得重複。 |
BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
ClickablePointProperty | 請參閱備註。 | 如果有週框即受支援。 如果週框中沒有任何可點選的點,而且您執行的是特殊化點擊測試,則會覆寫並提供可點選的點。 |
ControlTypeProperty | Button | 此值與所有使用者介面架構的值相同。 |
HelpTextProperty | 請參閱備註。 | 此說明文字可指出啟動按鈕的結果為何。 通常會是透過工具提示表示的相同類型資訊。 |
IsContentElementProperty | True | 按鈕控制項必須一律為內容。 |
IsControlElementProperty | True | 按鈕控制項必須一律為控制項。 |
IsKeyboardFocusableProperty | 請參閱備註。 | 如果控制項可接收鍵盤焦點,就必定支援此屬性。 |
LabeledByProperty | Null |
按鈕控制項會自行將其內容設為標籤。 |
LocalizedControlTypeProperty | 「按鈕」 | 對應到按鈕控制項類型的當地語系化字串。 |
NameProperty | 請參閱備註。 | 按鈕控制項的名稱是用來設定其標籤的文字。 若使用影像設定按鈕的標籤,則必須為按鈕的 Name 屬性提供替代文字。 |
必要的使用者介面自動化控制項模式
下表列出所有按鈕控制項必須支援的 UI 自動化控制項模式。 如需控制項模式的詳細資訊,請參閱 UI Automation Control Patterns Overview。
控制項模式 | 支援 | 備註 |
---|---|---|
IInvokeProvider | 請參閱備註。 | 所有按鈕都應該支援叫用控制項模式或切換控制項模式。 當按鈕執行使用者要求的命令時,便會支援叫用。 此命令對應於如「剪下」、「複製」、「貼上」或「刪除」等單一作業。 |
IToggleProvider | 請參閱備註。 | 所有按鈕都應該支援叫用控制項模式或切換控制項模式。 若按鈕可以循環多達三種狀態時,則會支援切換。 這通常是指特定功能的開關切換。 |
IExpandCollapseProvider | 請參閱備註。 | 當按鈕裝載為分割按鈕的子系時,子按鈕可能支援 ExpandCollapse 模式,而不是叫用或切換模式。 ExpandCollapse 模式可用來開啟或關閉功能表,或是與按鈕項目相關聯的其他子結構。 |
必要的使用者介面自動化事件
下表列出所有按鈕控制項必須支援的 UI 自動化控制項事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
UI 自動化事件 | 支援 | 備註 |
---|---|---|
AutomationFocusChangedEvent | 必要 | 無 |
BoundingRectangleProperty 屬性變更事件。 | 必要 | 無 |
IsOffscreenProperty 屬性變更事件。 | 必要 | 無 |
IsEnabledProperty 屬性變更事件。 | 必要 | 無 |
NameProperty 屬性變更事件。 | 必要 | 無 |
StructureChangedEvent | 必要 | 無 |
InvokedEvent | 相依 | 如果此控制項支援叫用控制項模式,就必須支援這個事件。 |
ToggleStateProperty 屬性變更事件。 | 相依 | 如果此控制項支援切換控制項模式,就必須支援這個事件。 |