備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題提供行事歷控件類型的UI自動化支援相關信息。 在UI自動化中,控件類型是控制項必須符合的一組條件,才能使用 ControlTypeProperty 屬性。 這些條件包括UI自動化樹狀結構、UI自動化屬性值、控件模式和UI自動化事件的特定指導方針。
行事歷控件可讓用戶輕鬆判斷日期,並選取其他日期。
下列各節會定義行事歷控件類型所需的UI自動化樹狀結構、屬性、控件模式和事件。 使用者介面自動化需求適用於所有行事歷控件,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms。
必要的 UI 自動化樹狀結構
下表描述與行事歷控件相關的UI自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需UI自動化樹狀結構的詳細資訊,請參閱 UI自動化樹狀結構概觀。
控件檢視 | 內容檢視 |
---|---|
日曆
|
日曆 - ListItem (數量取決於顯示天數) |
行事歷控件可以在使用者介面內以許多不同的形式表示。 UI 自動化樹中的控制項檢視中唯一保證的控制項是資料網格、標頭、標頭項和清單項控制項。
必要的UI自動化屬性
下表列出UI自動化屬性,其值或定義與行事歷控件特別相關。 如需UI自動化屬性的詳細資訊,請參閱 用戶端的UI自動化屬性。
UI 自動化屬性 | 價值觀 | 註釋 |
---|---|---|
AutomationIdProperty | 請參閱附注。 | 這個屬性的值在應用程式中的所有控件中必須是唯一的。 |
BoundingRectangleProperty | 請參閱附注。 | 包含整個控件的最外框。 |
ClickablePointProperty | 請參閱附注。 | 如果有周框,則支援 。 如果周框內的每個點都無法點選,而且您執行特製化的點擊測試,則覆寫並提供可點選的點。 |
ControlTypeProperty | 日曆 | 所有UI架構的這個值都相同。 |
IsContentElementProperty | 對 | 行事歷控件一律包含在UI自動化樹狀結構的內容檢視中。 |
IsControlElementProperty | 對 | 行事歷控件一律包含在UI自動化樹狀結構的控件檢視中。 |
IsKeyboardFocusableProperty | 請參閱附注。 | 如果控件可以接收鍵盤焦點,它必須支援這個屬性。 |
LabeledByProperty | 請參閱附注。 | 文件控制的標籤。 一般而言,會使用文件的標題。 |
LocalizedControlTypeProperty | 日曆 | 對應至行事歷控件類型的當地語系化字串。 |
NameProperty | 請參閱附注。 | 行事歷控件通常會從目前日期取得其名稱。 |
必要的使用者介面自動化控制模式
下表列出所有行事歷控件都必須支援的UI自動化控制項模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。
控制件模式/模式屬性 | 支援 | 註釋 |
---|---|---|
IGridProvider | 是的 | 行事歷控件總是支援網格模式,因為一個月中的天數是可以在空間中瀏覽的項目。 |
IScrollProvider | 視情況而定 | 大部分的行事歷控件都支援逐頁翻轉檢視。 建議使用卷動模式以支援分頁流覽。 |
ISelectionProvider | 視情況而定 | 大部分的行事曆控件都會保留特定的日、月或年作為子元素的選擇。 有些行事歷是可多重選取的,有些則只能選取單選。 |
ITableProvider | 是的 | 行事曆控件在其子樹中總是包含一個顯示星期幾的標頭,因此必須支援表格模式。 |
IValueProvider | 否 | 行事歷控件不需要 [值] 控制項模式,因為您無法直接在控件上設定值。 如果特定日期與控件相關聯,則應該由 Selection 控件模式提供資訊。 |
必要的UI自動化事件
下表列出所有行事歷控件都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀。
UI 自動化事件 | 支援 | 註釋 |
---|---|---|
AutomationFocusChangedEvent | 為必填項目 | 沒有 |
BoundingRectangleProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsEnabledProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsOffscreenProperty 屬性變更事件。 | 為必填項目 | 沒有 |
LayoutInvalidatedEvent | 為必填項目 | 沒有 |
StructureChangedEvent | 為必填項目 | 沒有 |
CurrentViewProperty 屬性變更事件。 | 視情況而定 | 沒有 |
HorizontallyScrollableProperty 屬性變更事件。 | 視情況而定 | 如果控件支援 Scroll 控件模式,它必須支援這個事件。 |
HorizontalScrollPercentProperty 屬性變更事件。 | 視情況而定 | 如果控件支援 Scroll 控件模式,它必須支援這個事件。 |
HorizontalViewSizeProperty 屬性變更事件。 | 視情況而定 | 如果控件支援 Scroll 控件模式,它必須支援這個事件。 |
VerticalScrollPercentProperty 屬性變更事件。 | 視情況而定 | 如果控件支援 Scroll 控件模式,它必須支援這個事件。 |
VerticallyScrollableProperty 屬性變更事件。 | 視情況而定 | 如果控件支援 Scroll 控件模式,它必須支援這個事件。 |
VerticalViewSizeProperty 屬性變更事件。 | 視情況而定 | 如果控件支援 Scroll 控件模式,它必須支援這個事件。 |
InvalidatedEvent | 為必填項目 | 沒有 |