syncfusion-wpf-checkedlistbox — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-wpf-checkedlistbox (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.
Guide for implementing the Syncfusion® WPF CheckedListBox (CheckListBox) control - a powerful list control that displays items with checkboxes for multi-item selection. This skill helps you integrate, configure, and customize the CheckListBox control in WPF applications with proper data binding, styling, and performance optimization.
Use this skill when you need to:
The CheckListBox control implements a classic list box with checkbox items, enabling multiple selection through checkboxes. Each item can be checked or unchecked independently, and the control supports rich customization, data binding, grouping, sorting, and virtualization for high-performance scenarios.
Key Features:
Assemblies Required:
Syncfusion.Shared.WPFSyncfusion.Tools.WPFNamespace: Syncfusion.Windows.Tools.Controls
📄 Read: references/getting-started.md
When to read: Starting a new CheckListBox implementation, setting up assemblies, or creating basic lists.
Topics covered:
📄 Read: references/data-binding.md
When to read: Implementing MVVM pattern, binding collections, or managing checked state through data binding.
Topics covered:
📄 Read: references/checking-and-selection.md
When to read: Managing item selection behavior, handling checked events, or implementing SelectAll functionality.
Topics covered:
📄 Read: references/grouping-and-sorting.md
When to read: Organizing items into groups, sorting items alphabetically/numerically, or implementing hierarchical views.
Topics covered:
📄 Read: references/appearance-customization.md
When to read: Styling the control, customizing colors/fonts, changing checkbox placement, or applying themes.
Topics covered:
📄 Read: references/layout-features.md
When to read: Configuring control layout, adjusting dimensions, or managing scrolling behavior.
Topics covered:
📄 Read: references/virtualization.md
When to read: Optimizing performance for large datasets, reducing memory usage, or experiencing performance issues.
Topics covered:
<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf">
<Grid>
<syncfusion:CheckListBox x:Name="checkListBox"
Width="200"
Height="300">
<syncfusion:CheckListBoxItem Content="Mexico" />
<syncfusion:CheckListBoxItem Content="Canada" />
<syncfusion:CheckListBoxItem Content="Bermuda" />
<syncfusion:CheckListBoxItem Content="Belize" />
<syncfusion:CheckListBoxItem Content="Panama" />
</syncfusion:CheckListBox>
</Grid>
</Window><syncfusion:CheckListBox ItemsSource="{Binding Countries}"
DisplayMemberPath="Name"
IsCheckOnFirstClick="True">
<syncfusion:CheckListBox.ItemContainerStyle>
<Style TargetType="syncfusion:CheckListBoxItem">
<Setter Property="IsSelected" Value="{Binding IsChecked, Mode=TwoWay}" />
</Style>
</syncfusion:CheckListBox.ItemContainerStyle>
</syncfusion:CheckListBox>// ViewModel
public class ViewModel : INotifyPropertyChanged
{
public ObservableCollection<Country> Countries { get; set; }
public ViewModel()
{
Countries = new ObservableCollection<Country>
{
new Country { Name = "Mexico", IsChecked = true },
new Country { Name = "Canada", IsChecked = false },
new Country { Name = "Bermuda", IsChecked = false }
};
}
}
// Model
public class Country : INotifyPropertyChanged
{
private bool isChecked;
public string Name { get; set; }
public bool IsChecked
{
get => isChecked;
set { isChecked = value; OnPropertyChanged(); }
}
}// XAML
<syncfusion:CheckListBox ItemChecked="CheckListBox_ItemChecked" />
// Code-behind
private void CheckListBox_ItemChecked(object sender, ItemCheckedEventArgs e)
{
var item = e.Item as CheckListBoxItem;
MessageBox.Show($"{item.Content} is {(e.IsChecked ? "checked" : "unchecked")}");
}// Get checked items from SelectedItems property
var checkedItems = checkListBox.SelectedItems;
foreach (var item in checkedItems)
{
var checkListBoxItem = item as CheckListBoxItem;
Console.WriteLine(checkListBoxItem.Content);
}// Add items to SelectedItems collection
checkListBox.SelectedItems.Add(countryModel1);
checkListBox.SelectedItems.Add(countryModel2);// Check all items
foreach (var item in checkListBox.Items)
{
if (!checkListBox.SelectedItems.Contains(item))
{
checkListBox.SelectedItems.Add(item);
}
}| Property | Type | Description | Default |
|---|---|---|---|
ItemsSource | IEnumerable | Data source for items | null |
DisplayMemberPath | string | Property path for display text | null |
SelectedItems | IList | Collection of checked items | Empty |
SelectedItem | object | Currently selected (focused) item | null |
IsCheckOnFirstClick | bool | Check item on first click vs double-click | true |
CheckBoxPlacement | CheckBoxPlacement | Checkbox position (Left/Right) | Left |
Foreground | Brush | Text color | Black |
Background | Brush | Background color | Transparent |
MouseOverBackground | Brush | Hover background color | System default |
SelectedItemBackground | Brush | Selected item background | System default |
| Event | EventArgs | Description |
|---|---|---|
ItemChecked | ItemCheckedEventArgs | Raised when item checked state changes |
SelectionChanged | SelectionChangedEventArgs | Raised when selection changes |
Display filterable items with checkboxes for multi-selection in search filters, report options, or settings panels.
→ Read: getting-started.md + data-binding.md
Create settings UI with multiple toggleable options, feature flags, or preference selections.
→ Read: checking-and-selection.md + appearance-customization.md
Display thousands of checkable items organized by category with virtualization for performance.
→ Read: grouping-and-sorting.md + virtualization.md
Implement role or permission selection UI with grouped capabilities and SelectAll per group.
→ Read: grouping-and-sorting.md + checking-and-selection.md
Apply custom themes, colors, and checkbox positioning to match application branding.
→ Read: appearance-customization.md
| Issue | Navigate To |
|---|---|
| Items not binding correctly | data-binding.md |
| Checked state not updating | checking-and-selection.md |
| Performance issues with many items | virtualization.md |
| Styling not applying | appearance-customization.md |
| Groups not displaying | grouping-and-sorting.md |
Next Steps: Choose a reference guide above based on your implementation needs, or start with getting-started.md for initial setup.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.