備註
本檔適用於想要使用 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 屬性變更事件。 | 視情況而定 | 沒有 |