Token导航 LogoToken导航TokenDH.com
开发需要联网github未标认证来源可访问许可证需确认审计通过

syncfusion-winui-calendarSynfusion WinUI 日历

Agent Skill

syncfusion-winui-calendar 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

535

周安装

23

GitHub Stars

公开资料未说明

下载量

188
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:syncfusion-winui-calendar(Synfusion WinUI 日历)
来源仓库:https://github.com/syncfusion/winui-ui-components-skills
仓库路径:skills/syncfusion-winui-calendar
安装命令:
npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-calendar
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-calendar

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态或协作事项进行整理。
  • 通过 npx skills add 命令从指定仓库安装并使用。
  • 安装前需确认权限范围和维护状态,避免触发联网或文件读写操作。
  • syncfusion-winui-calendar 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

WinUI Calendar (SfCalendar)

Comprehensive guide for implementing the Syncfusion WinUI Calendar (SfCalendar) control for date selection in Windows desktop applications. The Calendar control supports single, multiple, and range date selection with extensive customization options, navigation between different views, date restrictions, and localization.

When to Use This Skill

Use this skill when you need to:

  • Create calendar controls for date selection in WinUI desktop applications
  • Select dates in single, multiple, or range modes
  • Navigate views between month, year, decade, and century
  • Restrict dates using min/max dates and blackout dates
  • Customize UI with templates, special date highlighting, and styling
  • Localize calendars for different cultures and languages
  • Display week numbers with various calculation rules
  • Handle date selection events for validation or business logic
  • Implement accessible date pickers with keyboard navigation
  • Troubleshoot calendar rendering or data binding issues

Component Overview

SfCalendar is the primary date selection control for WinUI desktop applications, offering:

  • Selection Modes: Single, Multiple, Range, or None
  • View Navigation: Month, Year, Decade, and Century views
  • Date Restrictions: MinDate, MaxDate, and BlackoutDates collections
  • Customization: Cell templates, special date highlighting, and theme integration
  • Localization: Support for multiple calendar types and cultures
  • Week Numbers: Configurable week numbering with ISO 8601 support
  • Keyboard Support: Full keyboard navigation and accessibility
  • Data Binding: MVVM-friendly with SelectedDate and SelectedDates binding

Control Structure:

  • Month view with day cells (default)
  • Year view with month cells
  • Decade view with year cells
  • Century view with decade cells
  • Header for navigation and current view title
  • Navigation buttons for scrolling

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Creating a WinUI 3 desktop application
  • Installing Syncfusion.Calendar.WinUI NuGet package
  • Adding Calendar control in XAML
  • Adding Calendar control in C#
  • Basic date selection
  • Control structure overview

Selection Features

📄 Read: references/selection.md

  • Selection modes: None, Single, Multiple, Range
  • SelectedDate property (single selection)
  • SelectedDates collection (multiple/range selection)
  • Programmatic date selection
  • Selection changed events
  • Data binding selected dates

Navigation and Display

📄 Read: references/navigation.md

  • Display modes: Month, Year, Decade, Century
  • Navigating between views
  • SetDisplayDate method to bring dates into view
  • Min/Max display mode restrictions
  • Selection based on view restrictions
  • Navigation direction (vertical/horizontal scrolling)

Date Restrictions

📄 Read: references/date-restrictions.md

  • MinDate and MaxDate properties
  • Restricting selectable date ranges
  • BlackoutDates collection
  • Blocking specific dates from selection
  • Validating date selection
  • Styling disabled dates

Localization and Formatting

📄 Read: references/localization-formatting.md

  • Culture and language support
  • FormatString for custom date formats
  • Abbreviated day and month names
  • RTL (Right-to-Left) support
  • FlowDirection property
  • Date formatting patterns

UI Customization

📄 Read: references/customization.md

  • Cell templates (DataTemplate)
  • Special date highlighting with icons
  • Custom cell styling
  • Header customization
  • Background and foreground colors
  • Border and appearance customization
  • Theme integration

Week Numbers

📄 Read: references/week-numbers.md

  • ShowWeekNumbers property
  • WeekNumberRule options
  • Week number formatting
  • FirstDay, FirstFourDayWeek, FirstFullWeek rules
  • Culture-specific week calculations

Quick Start Example

Here's a minimal working example to get started:

1. Add Namespace

XAML:

<Window xmlns:calendar="using:Syncfusion.UI.Xaml.Calendar">

C#:

using Syncfusion.UI.Xaml.Calendar;

2. Create Basic Calendar (XAML)

<Window
    x:Class="CalendarApp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:calendar="using:Syncfusion.UI.Xaml.Calendar">

    <Grid>
        <calendar:SfCalendar x:Name="sfCalendar" />
    </Grid>
</Window>

3. Or Create Programmatically (C#)

using Syncfusion.UI.Xaml.Calendar;

namespace CalendarApp
{
    public sealed partial class MainWindow : Window
    {
        public MainWindow()
        {
            this.InitializeComponent();

            // Create calendar programmatically
            SfCalendar sfCalendar = new SfCalendar();
            this.Content = sfCalendar;
        }
    }
}

4. Select a Date (Optional)

// Select today's date
sfCalendar.SelectedDate = DateTimeOffset.Now;

// Or select a specific date
sfCalendar.SelectedDate = new DateTimeOffset(new DateTime(2026, 3, 22));

Common Patterns

Pattern 1: Single Date Selection

<calendar:SfCalendar
    x:Name="calendar"
    SelectionMode="Single"
    SelectedDate="{x:Bind ViewModel.SelectedDate, Mode=TwoWay}" />
// Access selected date
DateTimeOffset? selected = calendar.SelectedDate;

Pattern 2: Multiple Date Selection

<calendar:SfCalendar
    x:Name="calendar"
    SelectionMode="Multiple"
    SelectedDates="{x:Bind ViewModel.SelectedDates, Mode=TwoWay}" />
// Access multiple selected dates
DateTimeOffsetCollection selectedDates = calendar.SelectedDates;

Pattern 3: Date Range Selection

<calendar:SfCalendar
    x:Name="calendar"
    SelectionMode="Range" />

Pattern 4: Restrict Date Range

<calendar:SfCalendar
    x:Name="calendar"
    MinDate="2026-01-01"
    MaxDate="2026-12-31" />
// Set date restrictions in code
calendar.MinDate = new DateTimeOffset(new DateTime(2026, 1, 1));
calendar.MaxDate = new DateTimeOffset(new DateTime(2026, 12, 31));

Pattern 5: Block Specific Dates

// Create blackout dates collection
DateTimeOffsetCollection blackoutDates = new DateTimeOffsetCollection();
blackoutDates.Add(new DateTimeOffset(new DateTime(2026, 3, 25))); // Holiday
blackoutDates.Add(new DateTimeOffset(new DateTime(2026, 12, 25))); // Christmas

calendar.BlackoutDates = blackoutDates;

Pattern 6: Navigate to Specific Month

// Navigate to a specific date's month
calendar.SetDisplayDate(new DateTimeOffset(new DateTime(2026, 6, 15)));

Pattern 7: Restrict Navigation to Year View

<calendar:SfCalendar
    x:Name="calendar"
    MinDisplayMode="Month"
    MaxDisplayMode="Year" />

Pattern 8: ViewModel Data Binding

public class CalendarViewModel : INotifyPropertyChanged
{
    private DateTimeOffset? selectedDate;

    public DateTimeOffset? SelectedDate
    {
        get => selectedDate;
        set
        {
            selectedDate = value;
            OnPropertyChanged(nameof(SelectedDate));
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string propertyName)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}
<calendar:SfCalendar
    SelectedDate="{x:Bind ViewModel.SelectedDate, Mode=TwoWay}" />

Key Properties Reference

Selection Properties

PropertyTypeDescription
SelectedDateDateTimeOffset?Gets or sets the selected date (single selection mode)
SelectedDatesDateTimeOffsetCollectionGets or sets the collection of selected dates (multiple/range modes)
SelectedRangeDateTimeOffsetRangeGets the selected date range when SelectionMode is Range
SelectionModeCalendarSelectionModeDate selection mode: None, Single, Multiple, Range
SelectionHighlightModeSelectionHighlightModeHighlight style for selected dates: Outline, Filled
SelectionShapeSelectionShapeShape of selection indicator: Circle, Rectangle

Date Restriction Properties

PropertyTypeDescription
MinDateDateTimeOffsetMinimum selectable date (default: 1/1/1920)
MaxDateDateTimeOffsetMaximum selectable date (default: 12/31/2120)
BlackoutDatesDateTimeOffsetCollectionCollection of non-selectable (blocked) dates

Display and Navigation Properties

PropertyTypeDescription
DisplayModeCalendarDisplayModeCurrent view: Month, Year, Decade, Century
MinDisplayModeCalendarDisplayModeMinimum view level users can navigate to
MaxDisplayModeCalendarDisplayModeMaximum view level users can navigate to
NavigationDirectionCalendarNavigationDirectionScroll direction within view: Vertical, Horizontal
OutOfScopeVisibilityOutOfScopeVisibilityShow/hide dates from adjacent months: Enabled, Hidden
HeaderInfoobjectCustom header content for the calendar

Localization and Formatting Properties

PropertyTypeDescription
CalendarIdentifierstringCalendar system type: GregorianCalendar, HijriCalendar, HebrewCalendar, etc.
FirstDayOfWeekFirstDayOfWeekFirst day of week: Sunday, Monday, Tuesday, etc.
DayFormatstringFormat pattern for day numbers (e.g., "{day.integer(2)}")
MonthFormatstringFormat pattern for month names (e.g., "{month.full}")
DayOfWeekFormatstringFormat pattern for day-of-week headers (e.g., "{dayofweek.abbreviated(3)}")
MonthHeaderFormatstringFormat pattern for month/year header (e.g., "{month.full} {year.full}")
NumberOfWeeksInViewintNumber of week rows displayed in month view (default: 6)

Week Number Properties

PropertyTypeDescription
ShowWeekNumbersboolDisplay week numbers column (default: false)
WeekNumberRuleCalendarWeekRuleWeek calculation rule: FirstDay, FirstFourDayWeek, FirstFullWeek
WeekNumberFormatstringFormat for week numbers (use # as placeholder, e.g., "W #")

Common Use Cases

Event Scheduling Application

Create event scheduling interfaces where users select single dates for appointments, meetings, or reminders with future date restrictions and business day filtering.

Vacation Request System

Build vacation management systems with multiple date selection, blackout dates for company holidays, and range selection for consecutive vacation days.

Appointment Booking Calendar

Implement booking systems with dynamic date availability, blackout dates for unavailable slots, and real-time availability checking through ItemPrepared event.

International Date Picker

Develop multi-language applications with localized calendars supporting different calendar types (Hijri, Hebrew, Persian), RTL languages, and culture-specific formatting.

Date Range Filtering

Create data filtering interfaces where users select date ranges for reports, analytics dashboards, or transaction queries with min/max date boundaries.

Credit Card Expiry Selector

Implement month/year-only selectors for credit card expiration dates by restricting navigation to Year and Decade views only.


Next Steps: Read the reference documentation above based on what you need to implement. Start with getting-started.md for initial setup, then explore specific features as needed.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.89%
按下载量换算66

Claude

29.87%
按下载量换算56

Cursor

18.31%
按下载量换算34

Gemini CLI

9.62%
按下载量换算18

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills