UI オートメーションによる Calendar コントロール型のサポート

Note

このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、Windows Automation API の「UI オートメーション」を参照してください。

このトピックでは、Calendar コントロール型に対する UI オートメーションのサポートに関する情報を提供します。 UI オートメーションでのコントロール型とは、コントロールで ControlTypeProperty プロパティを使用するために満たす必要がある条件のセットのことです。 この条件には、UI オートメーション ツリーの構造、UI オートメーション プロパティの値、コントロール パターン、UI オートメーション イベントに関する具体的なガイドラインが含まれます。

Calendar コントロールでは、簡単に日付を指定したり、他の日付を選択したりできます。

以降のセクションでは、Calendar コントロール型に必要な UI オートメーション ツリーの構造、プロパティ、コントロール パターン、イベントを定義します。 この UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、または Windows フォームのいずれにおいても、すべてのカレンダー コントロールに適用されます。

必須の UI オートメーション ツリー構造

次の表に、カレンダー コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューを示し、それぞれのビューに含めることができる内容について説明します。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー コンテンツ ビュー
Calendar

  • DataGrid

    • Header (0 または 1)
    • HeaderItem (0 または 7、数量は列に表示される日数によって異なる)
    • ListItem (数量は表示される日数によって異なる)
    • Button (0 または 2、カレンダー ビューのページ移動用)
Calendar

- ListItem (数量は表示される日数によって異なる)

Calendar コントロールは、ユーザー インターフェイスのさまざまな形式で表すことができます。 UI オートメーション ツリーのコントロール ビューに含まれることが保証されるコントロールは、データ グリッド、ヘッダー、ヘッダー項目、リスト項目のコントロールだけです。

必須の UI オートメーション プロパティ

次の表に、カレンダー コントロールに特に関連する値または定義を持つ UI オートメーション プロパティを示します。 UI オートメーション プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。

UI Automation のプロパティ Notes
AutomationIdProperty 「ノート」を参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
ClickablePointProperty 「ノート」を参照してください。 四角形領域が存在する場合にサポートされます。 四角形領域内にクリック不可能な点が存在し、特別なヒット テストを実行する場合は、オーバーライドしてクリック可能な点を提供します。
ControlTypeProperty Calendar この値は、すべての UI フレームワークで同じです。
IsContentElementProperty このカレンダー コントロールは、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。
IsControlElementProperty True このカレンダー コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。
IsKeyboardFocusableProperty 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
LabeledByProperty 「ノート」を参照してください。 ドキュメント コントロールのラベル。 通常、ドキュメントのタイトルが使用されます。
LocalizedControlTypeProperty "カレンダー" Calendar コントロール型に対応するローカライズされた文字列。
NameProperty 「ノート」を参照してください。 通常、カレンダー コントロールの名前は、今日の日付から取得されます。

必須の UI オートメーション コントロール パターン

次の表に、すべてのカレンダー コントロールでサポートされる必要がある UI オートメーションのコントロール パターンを示します。 コントロール パターンの詳細については、「 UI Automation Control Patterns Overview」を参照してください。

コントロール パターン/パターン プロパティ サポート Notes
IGridProvider はい 1 か月の中に含まれる日付が空間的に移動できる項目になるため、カレンダー コントロールは必ず Grid パターンをサポートします。
IScrollProvider 依存 ほとんどのカレンダー コントロールはページごとのビューのフリッピングをサポートしています。 ページ移動をサポートするために、Scroll パターンを使用することをお勧めします。
ISelectionProvider 依存 ほとんどのカレンダー コントロールは、特定の日付、月、または年を、サブ要素の選択内容の形で保存します。 複数選択が可能なカレンダーもあれば、1 つしか選択できないカレンダーもあります。
ITableProvider はい カレンダー コントロールには曜日のサブツリー内に常にヘッダーがあるため、Table パターンがサポートされる必要があります。
IValueProvider いいえ カレンダー コントロールでは値を直接設定できないため、このコントロールに Value コントロール パターンは必要ありません。 特定の日付がコントロールに関連付けられている場合は、Selection コントロール パターンによって情報を提供する必要があります。

必須の UI オートメーション イベント

次の表に、すべてのカレンダー コントロールでサポートされる必要がある UI オートメーション イベントを示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。

UI オートメーション イベント サポート Notes
AutomationFocusChangedEvent 必須 なし
BoundingRectangleProperty プロパティ変更イベント。 必須 なし
IsEnabledProperty プロパティ変更イベント。 必須 なし
IsOffscreenProperty プロパティ変更イベント。 必須 なし
LayoutInvalidatedEvent 必須 なし
StructureChangedEvent 必須 なし
CurrentViewProperty プロパティ変更イベント。 依存 なし
HorizontallyScrollableProperty プロパティ変更イベント。 依存 コントロールで Scroll コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。
HorizontalScrollPercentProperty プロパティ変更イベント。 依存 コントロールで Scroll コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。
HorizontalViewSizeProperty プロパティ変更イベント。 依存 コントロールで Scroll コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。
VerticalScrollPercentProperty プロパティ変更イベント。 依存 コントロールで Scroll コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。
VerticallyScrollableProperty プロパティ変更イベント。 依存 コントロールで Scroll コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。
VerticalViewSizeProperty プロパティ変更イベント。 依存 コントロールで Scroll コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。
InvalidatedEvent 必須 なし

関連項目