syncfusion-maui-calendar について
Syncfusion の SfCalendar を実装・カスタマイズする .NET MAUI 開発者向けガイドです。カレンダービュー、日付選択と制限、イベント、ローカライズ、RTL 対応を扱います。
主な機能
- 01月、年、10年、世紀の各ビュー
- 02単一、複数、範囲選択
- 03日付制限とカスタム検証
- 04スタイル、イベント、ナビゲーション設定
- 05ローカライズと RTL 対応
活用シーン
- 01アプリに日付選択カレンダーを追加
- 02選択可能な日付を制限、または週末を無効化
- 03選択やビュー変更をイベントで処理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ maui-ui-components-skills --skill syncfusion-maui-calendarインストール後、Claude Code で/syncfusion-maui-calendarを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/calendar-modes.mdcalendar-views.mdcustomizations.mddate-navigation.mddate-restrictions.mddate-selection.mdevents.mdgetting-started.mdheaders-footers.mdlocalization-advanced.md詳細
.NET MAUI Calendar(SfCalendar)の実装
Syncfusion .NET MAUI Calendar コントロールを実装し、カスタマイズするための包括的なスキルです。SfCalendar は、複数の表示モード、豊富なカスタマイズオプション、柔軟な日付制限を備えた強力な日付選択機能を提供します。
このスキルを使用する場面
次のような場合に、このスキルを使用してください。
- .NET MAUI アプリケーションにカレンダーコントロールを実装する
- 日付選択(単一の日付、複数の日付、日付範囲)を有効にする
- カレンダーの表示(Month、Year、Decade、Century)を表示する
MinimumDisplayModeとMaximumDisplayModeを使用して、移動可能な表示範囲を制限する- 最小日付/最大日付またはカスタム検証を使用して日付選択を制限する
- カレンダーの外観(背景、テキストスタイル)をカスタマイズする
- カレンダーのイベント(選択の変更、表示の変更、タップ)を処理する
- 週番号、週の最初の曜日、前後の日付を設定する
- カレンダーのローカライズや RTL サポートを実装する
- 特定の日付の強調表示や週末のスタイル設定を追加する
- 日付や表示をプログラムで切り替える
コンポーネントの概要
SfCalendar は、ユーザーが次の操作を行える、豊富な機能を備えたカレンダーコントロールです。
- 単一の日付、複数の日付、または日付範囲を選択する
- Month、Year、Decade、Century の各表示を切り替える
- MinimumDate、MaximumDate、EnablePastDates、または SelectableDayPredicate を使用して日付を制限する
- カレンダーの外観をあらゆる面でカスタマイズする
- 包括的なイベントを通じてユーザー操作に対応する
主な機能:
- 柔軟な移動に対応する 4 種類のカレンダー表示
- 3 種類の選択モード(Single、Multiple、Range)
- ユーザーが移動できる表示範囲を制限する
MinimumDisplayModeとMaximumDisplayMode - 包括的な日付制限オプション
- 日付、今日、前後の日付を含む幅広いカスタマイズ
- ユーザー操作に対応する豊富なイベントシステム
- ローカライズおよびグローバリゼーションのサポート
- RTL(右から左)言語のサポート
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
- インストールと NuGet パッケージの設定(Syncfusion.Maui.Calendar)
- MauiProgram.cs でのハンドラー登録
- XAML と C# での SfCalendar の基本的な初期化
- 週の最初の曜日のカスタマイズ
- 角の半径の設定
カレンダーの表示
📄 参照: references/calendar-views.md
- Month 表示(既定で、最も一般的な表示)
- 月を選択する Year 表示
- 年を選択する Decade 表示
- 10 年単位を選択する Century 表示
- NumberOfVisibleWeeks プロパティ
- 週番号の表示(ShowWeekNumber)
- ユーザーが移動できる表示範囲を制限する
MinimumDisplayModeとMaximumDisplayMode - 表示の移動と切り替え
日付選択
📄 参照: references/date-selection.md
- 単一選択モード(一度に 1 つの日付を選択)
- 複数選択モード(複数の日付を選択)
- 範囲選択モード(日付範囲を選択)
- 範囲選択のための EnableSwipeSelection
- RangeSelectionDirection(Forward、Backward、Both、None)
- SelectedDate/SelectedDates/SelectedRange を使用したプログラムによる選択
- 異なる表示での選択動作
日付の制限
📄 参照: references/date-restrictions.md
- MinimumDate プロパティ(前方向への移動を制限)
- MaximumDate プロパティ(後方向への移動を制限)
- EnablePastDates プロパティ(今日より前の日付を無効化)
- SelectableDayPredicate(カスタムの日付検証ロジック)
- 週末または特定の日付の無効化
- 日付検証のパターン
日付の移動
📄 参照: references/date-navigation.md
- プログラムによる移動のための DisplayDate プロパティ
- プログラムによる表示の切り替え
- AllowViewNavigation プロパティ
- NavigateToAdjacentMonth(前後の日付への移動)
- 月/年の移動に使用するスワイプジェスチャー
- ヘッダーのタップによる表示の切り替え
カレンダーモードと表示オプション
📄 参照: references/calendar-modes.md
- デフォルトモード(インライン表示)
- Dialog モード(中央配置のポップアップ)
- RelativeDialog モード(位置を指定できるポップアップ)
- CalendarRelativePosition 列挙型(AlignTop、AlignBottom、AlignToLeftOf、AlignToRightOf など)
- プログラムから制御するための IsOpen プロパティ
- PopupWidth と PopupHeight のカスタマイズ
- 日付ピッカーのパターン
カスタマイズとスタイル設定
📄 参照: references/customizations.md
- 月のセルのカスタマイズ(日付、今日、前月・翌月の日付)
- テキストスタイル(TextStyle、TodayTextStyle、DisabledDatesTextStyle)
- すべてのセル状態に対応した背景色
- 週末の日付のスタイル設定
- アイコン(Dot、Heart、Diamond、Star、Bell)による特別な日付の強調表示
- 年、年代、世紀ビューのカスタマイズ
- CalendarTextStyle プロパティ(TextColor、FontSize、FontFamily)
イベントと操作
📄 参照: references/events.md
- ViewChanged イベント(ビュー/日付範囲の変更)
- SelectionChanged イベント(日付選択の変更)
- Tapped イベント(日付のシングルタップ)
- DoubleTapped イベント(日付のダブルタップ)
- LongPressed イベント(日付の長押し)
- イベント引数とデータ
- イベント処理のパターン
ヘッダーとフッター
📄 参照: references/headers-footers.md
- HeaderView のカスタマイズ(高さ、背景、テキストスタイル)
- ヘッダーテキスト形式のカスタマイズ
- ShowNavigationArrows プロパティ
- カスタムヘッダー UI 用の HeaderTemplate
- FooterView のカスタマイズ
- カスタムフッターテンプレート
ローカライズと高度な機能
📄 参照: references/localization-advanced.md
- グローバリゼーションとローカライズの設定
- CurrentUICulture の設定
- 複数言語向けのリソースファイルの作成
- RTL(右から左)サポート
- CalendarIdentifier(グレゴリオ暦、ヒジュラ暦など)
- カレンダーモード
- リキッドガラス効果
- 高度なビジュアルカスタマイズ