mcpField
S
syncfusion-wpf-datetimepicker

syncfusion-wpf-datetimepicker

github.com/syncfusionデザイン・UI5156 回インストール1 週間前に更新
リポジトリ

syncfusion-wpf-datetimepicker について

WPF アプリで Syncfusion の DateTimeEdit コントロールを実装するためのスキルです。日付と時刻の入力、書式設定、制限、MVVM バインディングを扱います。

主な機能

  1. 01マスク入力と自由形式入力
  2. 02カレンダー、時計、複合ポップアップ
  3. 03日付範囲と選択不可日の制限
  4. 04カスタムおよびカルチャ別書式
  5. 05MVVM バインディングと null 値処理

活用シーン

  1. 01WPF フォームへの日時フィールド追加
  2. 02選択日付の ViewModel へのバインド
  3. 03日付範囲や選択不可日の設定
  4. 04日付表示とポップアップラベルのローカライズ

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-datetimepicker

インストール後、Claude Code で/syncfusion-wpf-datetimepickerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
appearance.md
date-restrictions.md
datetime-editing.md
dropdown-popup.md
formatting-and-culture.md
getting-started.md
localization.md

詳細

DateTimeEdit の実装(WPF)

マスク編集、カレンダー/時計のドロップダウン、日付範囲の制限、書式設定、MVVM バインディングに対応した、機能強化版の日付時刻入力コントロールです。

このスキルを使用する場面

次のような場合に、このスキルを使用します。

  • WPF アプリケーションに日付/時刻の入力フィールドを追加する
  • 選択した日付を ViewModel プロパティにバインドする(DateTime の双方向バインディング)
  • 表示する日付/時刻の書式を設定する(定義済みパターンまたはカスタムパターン)
  • 最小/最大範囲または選択不可日で選択可能な日付を制限する
  • インライン編集を有効にする(マスクモードまたは自由形式のテキスト編集)
  • カレンダー、時計、または両方を組み合わせたドロップダウンピッカーを表示する
  • 日付が選択されていないときにウォーターマークテキストを表示する
  • null の日付値を処理する
  • CultureInfo によってロケール固有の日付書式を適用する
  • ドロップダウンボタンのラベル(Today/None)をローカライズする

コンポーネントの概要

クラス名前空間アセンブリ
DateTimeEditSyncfusion.Windows.SharedSyncfusion.Shared.WPF

XAML 名前空間:

xmlns:syncfusion="http://schemas.syncfusion.com/wpf"

NuGet:

Install-Package Syncfusion.Shared.WPF

ドキュメントとナビゲーションガイド

はじめに

📄 参照: references/getting-started.md

  • アセンブリの設定と XAML 名前空間
  • デザイナー、XAML、または C# による追加
  • DateTime 値の設定
  • DateTimeChanged イベントを使用した MVVM 双方向バインディング
  • 定義済み Pattern のクイックリファレンス
  • MinDateTime/MaxDateTime の基本
  • SfSkinManager のテーマ設定
日時の編集

📄 参照: references/datetime-editing.md

  • マスク編集(既定)— フィールド単位の入力と自動検証
  • 日付/時刻フィールド間のキーボードナビゲーション
  • 自由形式のテキスト編集(CanEdit="True")
  • マウスホイールによる値の変更(EnableMouseWheelEdit)
  • 上下のリピートボタン(IsVisibleRepeatButton、IsEnabledRepeatButton)
  • リピートボタン用のカスタム UI テンプレート
  • アルファキーによる月の移動(EnableAlphaKeyNavigation)
  • BackSpace/Delete キーによる編集
  • フォーカス制御用の OnFocusBehavior と AutoForwarding
書式設定とカルチャ

📄 参照: references/formatting-and-culture.md

  • 定義済み Pattern 値 11 種類
  • Pattern="CustomPattern" を指定した CustomPattern
  • DateTimeFormatInfo を使用した DateTimeFormat
  • ロケール固有の書式設定用の CultureInfo
  • PatternChanged/CustomPatternChanged イベント
ドロップダウンポップアップ

📄 参照: references/dropdown-popup.md

  • DropDownView:Calendar/Clock/Combined
  • キーボードショートカット(Alt+Down、F4)
  • TodayButtonAction(Date または DateTime)
  • IsEmptyDateEnabled — None ボタン/null にリセット
  • AbbreviatedMonthNames/ShortestDayNames
  • PopupDelay、IsButtonPopUpEnabled
  • カスタム UI 用の DropDownButtonTemplate
  • カスタムカレンダーと時計(SfDateSelector/SfTimeSelector)
  • 時計用の TimeStepInterval
日付の制限と null 値

📄 参照: references/date-restrictions.md

  • MinDateTime/MaxDateTime — 範囲外の選択を防止
  • BlackoutDates — 特定の日付範囲を選択不可にする
  • DisableDateSelection — 月/年のみの選択
  • IsReadOnly — すべてのユーザー編集を禁止
  • NullValue/IsEmptyDateEnabled/ShowMaskOnNullValue
  • NoneDateText ウォーターマーク
外観

📄 参照: references/appearance.md

  • Foreground、Background、SelectionBrush
  • FocusedBorderBrush
  • RTL 用の FlowDirection
  • リピートボタンの背景と余白
  • SfSkinManager のテーマ一覧
ローカライズ

📄 参照: references/localization.md

  • CurrentUICulture の設定
  • リソースファイルの命名規則:Syncfusion.Shared.Wpf.{culture}.resx
  • Today/None ボタンラベルの Name/Value ペア
  • フランス語カルチャの例

クイックスタートの例


<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf">
    <Window.DataContext>
        <local:ViewModel/>
    </Window.DataContext>
    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
        <syncfusion:DateTimeEdit DateTime="{Binding SelectedDate, Mode=TwoWay}"
                                 Pattern="ShortDate"
                                 MinDateTime="01/01/2020"
                                 MaxDateTime="12/31/2030"
                                 Height="25" Width="200"
                                 Name="dateTimeEdit"/>
    </StackPanel>
</Window>
// ViewModel.cs
public class ViewModel : NotificationObject
{
    private DateTime _selectedDate = DateTime.Now;
    public DateTime SelectedDate
    {
        get => _selectedDate;
        set { _selectedDate = value; RaisePropertyChanged(nameof(SelectedDate)); }
    }
}

よくあるパターン

シナリオプロパティ/アプローチ
日付の双方向バインディングDateTime="{Binding SelectedDate, Mode=TwoWay}"
カレンダーと時計を表示DropDownView="Combined" Pattern="FullDateTime"
自由形式のテキスト編集CanEdit="True"
日付のみの範囲制限MinDateTime="..." MaxDateTime="..."
null を許可/値をクリアIsEmptyDateEnabled="True" NullValue="{x:Null}" ShowMaskOnNullValue="False"
null のときに透かしテキストを表示null 値のプロパティとともに NoneDateText="Select a date" を追加します
日付の表示をカスタマイズPattern="CustomPattern" CustomPattern="dd-MMM-yyyy"
カルチャに応じた書式設定CultureInfo="fr-FR" Pattern="FullDateTime"
読み取り専用入力IsReadOnly="True"
RTL レイアウトFlowDirection="RightToLeft"
テーマを適用SfSkinManager.SetVisualStyle(dte, VisualStyles.FluentLight)

主なプロパティ

プロパティ型デフォルト説明
DateTimeDateTimeDateTime.Now選択した日付/時刻の値
PatternDateTimePatternShortDate表示形式のパターン
CustomPatternstringnullカスタム書式文字列(Pattern="CustomPattern" が必要です)
CultureInfoCultureInfoシステムカルチャ日付の書式設定に使用するロケール
CanEditboolfalse自由形式のテキスト編集を有効にします
MinDateTimeDateTimeDateTime.MinValue選択可能な最小日付
MaxDateTimeDateTimeDateTime.MaxValue選択可能な最大日付
DropDownViewDropDownViewsCalendarポップアップの内容:Calendar/Clock/Combined
IsEmptyDateEnabledboolfalsenull の日付値を許可します
NullValueDateTime?null日付がクリアされたときの値
NoneDateTextstring""値が null のときの透かしテキスト
ShowMaskOnNullValuebooltruenull のときにマスクと透かしテキストのどちらを表示するかを指定します
IsReadOnlyboolfalseユーザーによる編集を禁止します
IsVisibleRepeatButtonboolfalse上下のスピナーボタンを表示します
EnableMouseWheelEditbooltrueマウスホイールによる値の変更を許可します

コメント