syncfusion-wpf-calendar — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-wpf-calendar (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The CalendarEdit control provides a comprehensive calendar UI for selecting and managing dates in WPF applications. It supports single and multiple date selection, date range restrictions, customizable appearance, and powerful navigation modes from day to decade views.
Key Features:
📄 Read: references/getting-started.md
📄 Read: references/date-selection.md
📄 Read: references/navigation.md
📄 Read: references/restrict-dates.md
📄 Read: references/appearance.md
<Window x:Class="CalendarDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
Title="Calendar Demo" Height="450" Width="500">
<Grid>
<!-- Basic calendar control -->
<syncfusion:CalendarEdit Name="calendarEdit"
Height="250"
Width="300"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</Grid>
</Window>using Syncfusion.Windows.Shared;
CalendarEdit calendarEdit = new CalendarEdit();
calendarEdit.Height = 250;
calendarEdit.Width = 300;
// Get selected date
DateTime selectedDate = calendarEdit.Date;
// Set selected date programmatically
calendarEdit.Date = new DateTime(2024, 3, 15);// Allow only dates in March 2024
calendarEdit.MinDate = new DateTime(2024, 3, 1);
calendarEdit.MaxDate = new DateTime(2024, 3, 31);
calendarEdit.Date = new DateTime(2024, 3, 15);
// Get the selected date
DateTime selectedDate = calendarEdit.Date;// Enable multiple date selection
calendarEdit.AllowMultiplySelection = true;
// Select multiple dates by dragging or Ctrl+clicking
// Retrieve all selected dates
var selectedDates = calendarEdit.SelectedDates;// Block specific date ranges
calendarEdit.BlackoutDates.Add(new DateTime(2024, 3, 5));
calendarEdit.BlackoutDates.Add(new DateTime(2024, 3, 20));
// Users cannot select these dates
calendarEdit.Date = new DateTime(2024, 3, 15);using System.Windows.Media;
// Customize colors
calendarEdit.Foreground = Brushes.Blue;
calendarEdit.Background = Brushes.White;
calendarEdit.MouseOverForeground = Brushes.Red;
calendarEdit.MouseOverBackground = Brushes.Lavender;
// Customize header
calendarEdit.HeaderBackground = Brushes.Green;
calendarEdit.HeaderForeground = Brushes.Yellow;| Property | Type | Description |
|---|---|---|
Date | DateTime | Gets or sets the currently selected date |
SelectedDates | Collection | Gets all selected dates in multi-selection mode |
AllowMultiplySelection | bool | Enables or disables multiple date selection |
MinDate | DateTime | Sets the earliest selectable date |
MaxDate | DateTime | Sets the latest selectable date |
BlackoutDates | Collection | Contains dates that cannot be selected |
DisableDateSelection | bool | Disables date selection (month/year still selectable) |
MinMaxHidden | bool | Hides dates outside MinDate/MaxDate range |
HeaderBackground | Brush | Customizes the header background color |
HeaderForeground | Brush | Customizes the header text color |
ChangeModeTime | int | Animation duration for mode changes (ms) |
FrameMovingTime | int | Animation duration for month transitions (ms) |
Next Steps: Choose a reference file above based on what you need to implement. Start with "Getting Started" if setting up CalendarEdit for the first time.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.