備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題提供窗格控件類型的UI自動化支援相關信息。 在UI自動化中,控件類型是控制項必須符合的一組條件,才能使用 ControlTypeProperty 屬性。 這些條件包括UI自動化樹狀結構、UI自動化屬性值和控件模式的特定指導方針。
Pane 控制項類型是用來代表框架或文件視窗中的物件。 用戶可以在窗格控件和目前窗格的內容之間巡覽,但無法在不同窗格中的項目之間巡覽。 因此,窗格控件代表群組層級低於視窗或檔,但高於個別控件。 根據內容,使用者按下 TAB、F6 或 CTRL+TAB,在窗格之間巡覽。 窗格控制類型不需要特定的鍵盤導覽。
下列各節會定義窗格控件類型所需的UI自動化樹狀結構、屬性、控件模式和事件。 使用者介面自動化需求適用於所有清單控件,無論是 Windows Presentation Foundation (WPF)、Win32 還是 Windows Forms。
必要的 UI 自動化樹狀結構
下表描述與窗格控件相關的UI自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需UI自動化樹狀結構的詳細資訊,請參閱 UI自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
面板 | 面板 |
必要的UI自動化屬性
下表列出UI自動化屬性,其值或定義與窗格控件特別相關。 如需 UI 自動化屬性的詳細資訊,請參閱用戶端的 UI 自動化屬性。
UI 自動化屬性 | 價值觀 | 註釋 |
---|---|---|
AutomationIdProperty | 請參閱備註。 | 這個屬性的值在應用程式中的所有控件中必須是唯一的。 |
BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
IsKeyboardFocusableProperty | 請參閱備註。 | 如果控制項可接收鍵盤焦點,就必定支援此屬性。 |
NameProperty | 請參閱備註。 | 此屬性的值一律必須是清楚、簡潔且有意義的標題。 |
ClickablePointProperty | 請參閱備註。 | 這個屬性會公開窗格控件的可點選點,讓窗格在單擊時變成焦點。 |
LabeledByProperty | 請參閱備註。 | 窗格控件通常沒有靜態標籤。 如果有靜態文字標籤,則應該透過這個屬性公開它。 |
ControlTypeProperty | 面板 | 此值與所有使用者介面架構的值相同。 |
LocalizedControlTypeProperty | “pane” | 對應 Pane 控制項類型的在地語系化字串。 |
IsContentElementProperty | 對 | 窗格控件一律包含在UI自動化樹狀結構的內容檢視中。 |
IsControlElementProperty | 對 | 窗格控件一律包含在 UI 自動化樹的控件檢視中。 |
HelpTextProperty | "" | 窗格控件的說明文字應該說明框架的目的,以及它與其他畫面格的關聯性。 如果框架的用途和關聯性無法從的值 NameProperty 中清楚,則需要描述。 " |
AccessKeyProperty | 請參閱備註。 | 如果特定按鍵組合將焦點提供給窗格,則應該透過這個屬性公開該資訊。 |
必要的使用者介面自動化控制模式
下表列出所有窗格控件都必須支援的UI自動化控制件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。
控制件模式 | 支援 | 註釋 |
---|---|---|
ITransformProvider | 視情況而定 | 如果窗格控件可以在螢幕上移動、重設大小或旋轉,請實作此控件模式。 |
IWindowProvider | 從不 | 如果您需要實作此控制項模式,您的控制項應該以控件類型為基礎 Window 。 |
IDockProvider | 視情況而定 | 如果窗格控制項可以停駐,請實作此控制模式。 |
IScrollProvider | 視情況而定 | 如果窗格控件可以捲動,請實作此控件模式。 |
必要的UI自動化事件
下表列出所有窗格控件都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
UI 自動化事件 | 支援/值 | 註釋 |
---|---|---|
WindowClosedEvent | 從不 | 沒有 |
WindowOpenedEvent | 從不 | 沒有 |
AsyncContentLoadedEvent | 為必填項目 | 沒有 |
BoundingRectangleProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsOffscreenProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsEnabledProperty 屬性變更事件。 | 為必填項目 | 沒有 |
HorizontallyScrollableProperty 屬性變更事件。 | 視情況而定 | 沒有 |
HorizontalScrollPercentProperty 屬性變更事件。 | 視情況而定 | 沒有 |
HorizontalViewSizeProperty 屬性變更事件。 | 視情況而定 | 沒有 |
VerticalScrollPercentProperty 屬性變更事件。 | 視情況而定 | 沒有 |
VerticallyScrollableProperty 屬性變更事件。 | 視情況而定 | 沒有 |
VerticalViewSizeProperty 屬性變更事件。 | 視情況而定 | 沒有 |
WindowVisualStateProperty 屬性變更事件。 | 從不 | 沒有 |
AutomationFocusChangedEvent | 為必填項目 | 沒有 |
StructureChangedEvent | 為必填項目 | 沒有 |
窗格控件類型範例
下圖說明實作Pane控件類型的控制件。
UI 自動化樹狀目錄 - 控件檢視 | UI 自動化樹狀目錄 - 內容檢視 |
---|---|
|
-窗格 - 樹狀結構(捲動模式) - TreeItem - …窗格 -編輯 -(捲動樣式) |