共用方式為


視窗控制項類型的UI自動化支援

備註

本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化

本主題提供視窗控制項類型的UI自動化支援相關信息。 在UI自動化中,控件類型是控制項必須符合的一組條件,才能使用 ControlTypeProperty 屬性。 這些條件包括UI自動化樹狀結構、UI自動化屬性值和控件模式的特定指導方針。

視窗控制件包含視窗框架,其中包含標題列、用戶端和其他物件等子物件。

下列各節中的UI自動化需求適用於實作 Windows 控件類型的所有控件,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms。

必要的 UI 自動化樹狀結構

下表描述與視窗控件相關的UI自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需UI自動化樹狀結構的詳細資訊,請參閱 UI自動化樹狀結構概觀

控制項檢視 內容檢視
窗戶 窗戶

必要的UI自動化屬性

下表列出UI自動化屬性,其值或定義與視窗控件特別相關。 如需UI自動化屬性的詳細資訊,請參閱 用戶端的UI自動化屬性

UI 自動化屬性 價值觀 註釋
AutomationIdProperty 請參閱備註。 這個屬性的值在應用程式中的所有控件中必須是唯一的。
BoundingRectangleProperty 請參閱備註。 包含整個控制項的最外層矩形。
ClickablePointProperty 請參閱備註。 視窗控制項必須具有可點選的點,這會導致視窗變成選取或未選取。
ControlTypeProperty 窗戶 此值與所有使用者介面架構的值相同。
IsContentElementProperty 視窗控制項一定是內容。
IsControlElementProperty 視窗控制件一律必須是控制項。
IsKeyboardFocusableProperty 請參閱備註。 如果控制項可接收鍵盤焦點,就必定支援此屬性。
LabeledByProperty null 視窗控制件沒有靜態視窗標籤。
LocalizedControlTypeProperty 視窗 對應於視窗控制項類型的本地化字串。
NameProperty 請參閱備註。 視窗控制項一律包含主要的視窗元素,該項目與使用者會關聯為最具語意識別符的項目相關。

必要的使用者介面自動化控制模式

下表列出視窗控制項需要支援的UI自動化控制件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀

控制件模式 支援 註釋
IDockProvider 有條件的 如果視窗具有停駐功能,則必須支援此功能。
ITransformProvider 為必填項目 可讓視窗在畫面上移動、重設大小或旋轉。
IWindowProvider 為必填項目 啟用視窗的特定操作。

必要的UI自動化事件

下表列出所有視窗控制項都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀

UI 自動化事件 支援 註釋
AsyncContentLoadedEvent 為必填項目 沒有
AutomationFocusChangedEvent 為必填項目 沒有
BoundingRectangleProperty 屬性變更事件。 為必填項目 沒有
IsEnabledProperty 屬性變更事件。 為必填項目 沒有
IsOffscreenProperty 屬性變更事件。 為必填項目 沒有
LayoutInvalidatedEvent 為必填項目 沒有
NameProperty 屬性變更事件。 為必填項目 沒有
StructureChangedEvent 為必填項目 沒有
HorizontallyScrollableProperty 屬性變更事件。 視情況而定 沒有
HorizontalScrollPercentProperty 屬性變更事件。 視情況而定 沒有
HorizontalViewSizeProperty 屬性變更事件。 視情況而定 沒有
VerticalScrollPercentProperty 屬性變更事件。 視情況而定 沒有
VerticallyScrollableProperty 屬性變更事件。 視情況而定 沒有
VerticalViewSizeProperty 屬性變更事件。 視情況而定 沒有
WindowClosedEvent 為必填項目 沒有
WindowOpenedEvent 為必填項目 沒有
WindowVisualStateProperty 屬性變更事件。 視情況而定 沒有

另請參閱