mcpField
S
syncfusion-wpf-color-palette

syncfusion-wpf-color-palette

github.com/syncfusionDesign & UI5165 installsUpdated 1w ago
Repository

About syncfusion-wpf-color-palette

A skill for implementing Syncfusion's `SfColorPalette` color picker in WPF applications. It covers swatch navigation, selected-color binding, and appearance customization for developers adding color selection to interfaces or design tools.

Key features

  1. 01Choose from organized color swatches
  2. 02Switch between swatch collections
  3. 03Bind the selected color
  4. 04Customize foreground and background
  5. 05Configure themes and flow direction

Use cases

  1. 01Add color selection to an application theme
  2. 02Bind colors to interface controls
  3. 03Choose colors for chart series
  4. 04Build design or branding tools

Install

Copy the command and run it in a terminal.

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

After installing, type/syncfusion-wpf-color-palettein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
appearance-theming.md
color-binding.md
getting-started.md
swatches-navigation.md

Details

From the project README

Implementing Syncfusion WPF Color Palettes

The SfColorPalette is a versatile color picker component that allows users to select colors from organized swatches. It provides multiple color sets, binding support, and extensive customization options.

When to Use This Skill

Use this skill when you need to:

  • Add a color picker interface to your WPF application
  • Allow users to select colors from predefined swatches
  • Bind selected colors to UI elements (brushes, backgrounds, etc.)
  • Navigate between different color swatches (Material, Office, Metro, Grayscale, etc.)
  • Customize the appearance (foreground, background, flow direction)
  • Apply themes or customize the color palette styling

Quick Overview

The Color Palette component consists of:

  • Color Swatches: Different organized color sets (Material, Office, etc.)
  • Swatch Button: Located at top-right to switch between color packages
  • Color Items: Individual colors available in the current swatch
  • Tooltip Preview: Shows the selected color when hovering
  • SelectedColor Property: Returns the currently selected color as a Color object

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Assembly references and NuGet package setup
  • Adding the control via designer, XAML, and C#
  • Basic Color Palette creation
  • Selecting colors and handling events
Color Binding

📄 Read: references/color-binding.md

  • Binding the SelectedColor property to other objects
  • Creating color to brush converters
  • Two-way data binding with the UI
  • Binding selected colors to shapes and controls
Swatches Navigation

📄 Read: references/swatches-navigation.md

  • Available color swatches overview
  • Switching between different swatch collections
  • Understanding swatch button functionality
  • Customizing swatch availability
Appearance and Theming

📄 Read: references/appearance-theming.md

  • Customizing foreground and background colors
  • Setting flow direction (LTR/RTL support)
  • Applying built-in themes with SfSkinManager
  • Creating custom themes with Theme Studio

Quick Start Example

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
    Title="Color Palette Example" Height="400" Width="500">
    <Grid>
        <StackPanel Margin="20">
            <TextBlock Text="Select a Color:" FontSize="14" Margin="0,0,0,10"/>
            <syncfusion:SfColorPalette 
                x:Name="colorPalette"
                Height="250"
                Width="300"
                HorizontalAlignment="Left"/>
            
            <TextBlock Text="Selected Color:" FontSize="14" Margin="0,20,0,10"/>
            <Rectangle 
                Fill="{Binding ElementName=colorPalette, Path=SelectedColor, Converter={StaticResource ColorToBrushConverter}}"
                Height="50"
                Width="300"
                HorizontalAlignment="Left"/>
        </StackPanel>
    </Grid>
</Window>

Common Patterns

Pattern 1: Basic Color Selection

Use when you need a simple color picker without advanced binding:

// Create and add the control
SfColorPalette colorPalette = new SfColorPalette();
colorPalette.Height = 300;
colorPalette.Width = 200;
this.Content = colorPalette;

// Get the selected color
Color selectedColor = colorPalette.SelectedColor;
Pattern 2: Binding to UI Elements

Use when you want the selected color to automatically update UI elements:

XAML:

<Grid.Resources>
    <local:ColorToSolidColorBrushValueConverter x:Key="ColorToBrushConverter"/>
</Grid.Resources>

<Rectangle Fill="{Binding ElementName=colorPalette, Path=SelectedColor, Converter={StaticResource ColorToBrushConverter}}"/>
<syncfusion:SfColorPalette x:Name="colorPalette"/>

C# Converter:

public class ColorToSolidColorBrushValueConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value is Color color)
            return new SolidColorBrush(color);
        return null;
    }
    
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return true;
    }
}
Pattern 3: Styled Color Palette

Use when you need to customize appearance with themes and colors:

<syncfusion:SfColorPalette 
    x:Name="colorPalette"
    Foreground="Blue"
    Background="AliceBlue"
    FlowDirection="LeftToRight"
    Height="250"
    Width="300"/>

Key Properties

PropertyTypeDefaultPurpose
SelectedColorColor—Gets the currently selected color
ForegroundBrushGrayForeground color of the palette UI
BackgroundBrushSnowBackground color of the palette
FlowDirectionFlowDirectionLeftToRightLayout direction (LTR or RTL)

Common Use Cases

  • Theme Customizer: Allow users to pick custom colors for application themes
  • Design Tools: Integrated color picker for graphics or UI design applications
  • Branding Tools: Select brand colors for design systems
  • Data Visualization: Pick colors for chart series, legends, or annotations
  • Accessibility Tools: Provide quick color selection for color blindness solutions

Comments

Markdown supported