MCPInstall

syncfusion-wpf-checkedlistbox

Implements the Syncfusion WPF CheckedListBox (CheckListBox) control for multi-select lists with checkboxes. Use this when adding checklist controls, checkbox-enabled item lists, or SelectAll functionality in WPF applications. Covers data binding, appearance customization, grouping/sorting, item selection handling, and virtualization.

Installs
158
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-checkedlistbox
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-wpf-checkedlistbox automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing Syncfusion WPF CheckedListBox

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.

When to Use This Skill

Use this skill when you need to:

  • Implement multi-select lists with checkbox controls in WPF
  • Display checkable items with custom content and templates
  • Bind data collections to CheckListBox with MVVM pattern
  • Handle item checking/unchecking events and selection states
  • Group and sort items within the list
  • Customize appearance including themes, colors, and checkbox placement
  • Optimize performance with virtualization for large datasets
  • Implement SelectAll/UnselectAll functionality
  • Configure layout options like orientation and wrapping
  • Troubleshoot CheckListBox-related issues

Component Overview

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:

  • Single-click or double-click item selection
  • Checkbox alignment (left or right)
  • Full data binding and MVVM support
  • Grouping with CollectionView
  • Sorting capabilities
  • SelectAll/UnselectAll functionality
  • Built-in themes and visual styles
  • Virtualization for large item collections
  • Custom templates and styling
  • Event notifications for checked state changes

Assemblies Required:

  • Syncfusion.Shared.WPF
  • Syncfusion.Tools.WPF

Namespace: Syncfusion.Windows.Tools.Controls

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

When to read: Starting a new CheckListBox implementation, setting up assemblies, or creating basic lists.

Topics covered:

  • Assembly deployment and NuGet packages
  • Creating WPF project with CheckListBox
  • Adding control via designer and XAML
  • Adding control manually in C#
  • Populating items using CheckListBoxItem
  • Populating items via data binding with ItemsSource
  • DisplayMemberPath configuration
  • Basic examples and minimal setup

Data Binding

📄 Read: references/data-binding.md

When to read: Implementing MVVM pattern, binding collections, or managing checked state through data binding.

Topics covered:

  • ItemsSource property configuration
  • DisplayMemberPath for display values
  • IsSelected property binding to model
  • Model and ViewModel implementation
  • ObservableCollection setup
  • TwoWay binding for checked state
  • INotifyPropertyChanged pattern
  • ItemContainerStyle for binding IsSelected

Item Checking and Selection

📄 Read: references/checking-and-selection.md

When to read: Managing item selection behavior, handling checked events, or implementing SelectAll functionality.

Topics covered:

  • Checking/unchecking items programmatically
  • IsCheckOnFirstClick property (single vs double-click)
  • SelectedItems collection management
  • SelectedItem property for current selection
  • Checking items on initialization
  • SelectAll and UnselectAll implementation
  • ItemChecked event handling
  • ItemCheckedEventArgs usage
  • Keyboard navigation (Space key)
  • Getting list of checked items

Grouping and Sorting

📄 Read: references/grouping-and-sorting.md

When to read: Organizing items into groups, sorting items alphabetically/numerically, or implementing hierarchical views.

Topics covered:

  • Grouping with CollectionView.GroupDescriptions
  • PropertyGroupDescription configuration
  • Group header selection state
  • Expanding/collapsing groups
  • Sorting with CollectionView.SortDescriptions
  • SortDescription properties (PropertyName, Direction)
  • Ascending and descending order
  • Multiple sort criteria
  • Combining grouping and sorting

Appearance and Customization

📄 Read: references/appearance-customization.md

When to read: Styling the control, customizing colors/fonts, changing checkbox placement, or applying themes.

Topics covered:

  • Foreground and Background properties
  • MouseOverBackground for hover effects
  • SelectedItemBackground styling
  • CheckBox alignment (left/right side)
  • CheckBoxPlacement property
  • Built-in visual styles and themes
  • Custom templates and styles
  • Border and padding customization
  • Font styling and text appearance
  • ItemContainerStyle customization

Layout Features

📄 Read: references/layout-features.md

When to read: Configuring control layout, adjusting dimensions, or managing scrolling behavior.

Topics covered:

  • Layout-related properties overview
  • Orientation settings (vertical/horizontal)
  • Item wrapping behavior
  • Scrolling configuration
  • Height and Width management
  • ScrollViewer settings
  • Item spacing and padding
  • Container sizing

Virtualization and Performance

📄 Read: references/virtualization.md

When to read: Optimizing performance for large datasets, reducing memory usage, or experiencing performance issues.

Topics covered:

  • VirtualizingStackPanel usage
  • Enabling UI virtualization
  • Performance optimization techniques
  • ScrollUnit configuration
  • Memory management benefits
  • Best practices for large collections
  • Virtualization limitations
  • When to use virtualization

Quick Start Example

Basic CheckListBox with Static Items

<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>

CheckListBox with Data Binding

<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(); }
    }
}

Common Patterns

Pattern 1: Handle Item Checked Events

// 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")}");
}

Pattern 2: Get All Checked Items

// Get checked items from SelectedItems property
var checkedItems = checkListBox.SelectedItems;

foreach (var item in checkedItems)
{
    var checkListBoxItem = item as CheckListBoxItem;
    Console.WriteLine(checkListBoxItem.Content);
}

Pattern 3: Programmatically Check Items

// Add items to SelectedItems collection
checkListBox.SelectedItems.Add(countryModel1);
checkListBox.SelectedItems.Add(countryModel2);

Pattern 4: SelectAll Implementation

// Check all items
foreach (var item in checkListBox.Items)
{
    if (!checkListBox.SelectedItems.Contains(item))
    {
        checkListBox.SelectedItems.Add(item);
    }
}

Key Properties

PropertyTypeDescriptionDefault
ItemsSourceIEnumerableData source for itemsnull
DisplayMemberPathstringProperty path for display textnull
SelectedItemsIListCollection of checked itemsEmpty
SelectedItemobjectCurrently selected (focused) itemnull
IsCheckOnFirstClickboolCheck item on first click vs double-clicktrue
CheckBoxPlacementCheckBoxPlacementCheckbox position (Left/Right)Left
ForegroundBrushText colorBlack
BackgroundBrushBackground colorTransparent
MouseOverBackgroundBrushHover background colorSystem default
SelectedItemBackgroundBrushSelected item backgroundSystem default

Key Events

EventEventArgsDescription
ItemCheckedItemCheckedEventArgsRaised when item checked state changes
SelectionChangedSelectionChangedEventArgsRaised when selection changes

Common Use Cases

Use Case 1: Multi-Select Filter List

Display filterable items with checkboxes for multi-selection in search filters, report options, or settings panels.

→ Read: getting-started.md + data-binding.md

Use Case 2: Settings Configuration Panel

Create settings UI with multiple toggleable options, feature flags, or preference selections.

→ Read: checking-and-selection.md + appearance-customization.md

Use Case 3: Large Dataset with Grouping

Display thousands of checkable items organized by category with virtualization for performance.

→ Read: grouping-and-sorting.md + virtualization.md

Use Case 4: Permissions/Roles Manager

Implement role or permission selection UI with grouped capabilities and SelectAll per group.

→ Read: grouping-and-sorting.md + checking-and-selection.md

Use Case 5: Styled Checklist for Branding

Apply custom themes, colors, and checkbox positioning to match application branding.

→ Read: appearance-customization.md

Troubleshooting Quick Links

IssueNavigate To
Items not binding correctlydata-binding.md
Checked state not updatingchecking-and-selection.md
Performance issues with many itemsvirtualization.md
Styling not applyingappearance-customization.md
Groups not displayinggrouping-and-sorting.md

Next Steps: Choose a reference guide above based on your implementation needs, or start with getting-started.md for initial setup.

FAQ

What does the syncfusion-wpf-checkedlistbox skill do?

Implements the Syncfusion WPF CheckedListBox (CheckListBox) control for multi-select lists with checkboxes. Use this when adding checklist controls, checkbox-enabled item lists, or SelectAll functionality in WPF applications. Covers data binding, appearance customization, grouping/sorting, item selection handling, and virtualization.

How do I install syncfusion-wpf-checkedlistbox?

Run npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-checkedlistbox in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-wpf-checkedlistbox/ (personal) or .claude/skills/syncfusion-wpf-checkedlistbox/ (project).

Which AI agents can use syncfusion-wpf-checkedlistbox?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-wpf-checkedlistbox safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-wpf-checkedlistbox?

It is published by syncfusion in syncfusion/wpf-ui-components-skills. It has 158 recorded installs.

More from syncfusion/wpf-ui-components-skills

View all →

syncfusion-wpf-theming

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design184 installs

syncfusion-wpf-datagrid

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design176 installs

syncfusion-wpf-carousel

syncfusion/wpf-ui-components-skills

Implements the Syncfusion WPF Carousel for displaying items in rotating or custom path interfaces with navigation support. Use when building image carousels, rotating galleries, or custom-path item displays with templates and data binding.

Frontend & Design164 installs

syncfusion-wpf-combobox

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design163 installs

syncfusion-wpf-button

syncfusion/wpf-ui-components-skills

Implement Syncfusion WPF ButtonAdv controls for configurable button UIs. Use this when adding, configuring, or customizing a Syncfusion WPF ButtonAdv — including labels, icons, size modes, toggle/checkable behavior, MVVM command binding, multiline text, corner radius, IsDefault/IsCancel modes, icon templates, and themes.

Frontend & Design163 installs

syncfusion-wpf-color-palette

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design162 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs