mcpField
S
syncfusion-winui-dropdown-color-picker

syncfusion-winui-dropdown-color-picker

github.com/syncfusionDevelopment147 installsUpdated 1w ago
Repository

About syncfusion-winui-dropdown-color-picker

An implementation guide for Syncfusion’s SfDropDownColorPicker in WinUI, covering dropdown color selection, editing, and UI customization.

Key features

  1. 01RGB, HSV, HSL, CMYK, and hex editing
  2. 02Hue spectrum slider
  3. 03Split-button mode
  4. 04Dropdown placement and layout controls
  5. 05Opacity adjustment and color-change events

Use cases

  1. 01Build an app theme color selector
  2. 02Apply a selected color with a split button
  3. 03Embed a customized color editor

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-dropdown-color-picker

After installing, type/syncfusion-winui-dropdown-color-pickerin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
color-picker-customization.md
dropdown-modes-and-placement.md
events-and-commands.md
getting-started.md
header-and-ui-customization.md

Details

From the project README

Implementing Syncfusion WinUI DropDown Color Picker

The WinUI DropDown Color Picker (SfDropDownColorPicker) is a versatile control for color selection and editing. It displays a color spectrum as a dropdown button with support for multiple color channel modes, opacity adjustment, and extensive customization options.

When to Use This Skill

  • User needs: Interactive color selection UI with dropdown behavior
  • User needs: Support for multiple color formats (RGB, HSV, HSL, CMYK, Hexadecimal)
  • User needs: Customizable dropdown placement and split button mode
  • User needs: Embedded color picker customization within a dropdown
  • User needs: Color change event handling and color binding
  • User needs: Custom header UI or dropdown button styling

Component Overview

Key Features
  • Color Editing: Drag to select colors or enter values manually in RGB, HSV, HSL, CMYK, or Hex formats
  • Hue Spectrum Slider: Quickly select hue values
  • Color Channel Modes: Switch between RGB, HSV, HSL, and CMYK color spaces
  • Split Mode: Optional button + dropdown arrow separation
  • Dropdown Customization: Control placement (full, center, left, right, top, bottom)
  • Opacity Control: Adjust alpha/transparency values
  • Event Handling: SelectedBrushChanged, DropDownOpened, DropDownClosed events
  • Custom Templates: Customize header and dropdown button UI
Required NuGet Package
  • Syncfusion.Editors.WinUI

Note: Ensure you update the Syncfusion.Editors.WinUI NuGet package to the latest available version via the NuGet package manager before building or releasing your application.

Namespace
  • Syncfusion.UI.Xaml.Editors

Documentation and Navigation Guide

Choose the reference guide based on your task:

Getting Started

📄 Read: references/getting-started.md

  • Installation and NuGet setup
  • Creating projects with DropDown Color Picker
  • Basic XAML and C# implementation
  • Programmatic color selection
  • Interactive color selection
  • Color channel switching (RGB, HSV, HSL, CMYK)
  • Opacity and alpha value adjustment
  • Hexadecimal color editor usage
Color Picker Customization

📄 Read: references/color-picker-customization.md

  • Customizing the embedded color picker
  • Using AttachedFlyout and DropDownFlyout
  • Brush type options (SolidColorBrush, LinearGradientBrush, etc.)
  • Size and appearance customization
  • Embedded color picker examples
Dropdown Modes and Placement

📄 Read: references/dropdown-modes-and-placement.md

  • Dropdown placement modes
  • DropDownPlacement property usage
  • Split mode (button + dropdown arrow)
  • Command binding in split mode
  • Dropdown vs. full dropdown behavior
  • Custom header UI styling
Events and Commands

📄 Read: references/events-and-commands.md

  • SelectedBrushChanged event
  • OldBrush and NewBrush properties
  • DropDownOpened and DropDownClosed events
  • Command binding patterns
  • Event handling code examples
Header and UI Customization

📄 Read: references/header-and-ui-customization.md

  • ContentTemplate for selected color button
  • DropDownButtonTemplate for dropdown button
  • Custom UI styling in XAML
  • Split mode custom headers
  • DataContext binding patterns
  • Complete template examples

Quick Start Example

Basic Implementation (XAML)
<Page xmlns:editors="using:Syncfusion.UI.Xaml.Editors">
    <Grid>
        <editors:SfDropDownColorPicker x:Name="colorPicker" 
                                       SelectedBrush="Blue" />
    </Grid>
</Page>
Basic Implementation (C#)
using Syncfusion.UI.Xaml.Editors;

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        
        SfDropDownColorPicker colorPicker = new SfDropDownColorPicker();
        colorPicker.SelectedBrush = new SolidColorBrush(Colors.Blue);
        
        grid.Children.Add(colorPicker);
    }
}
Listening to Color Changes
// Subscribe to color change event
colorPicker.SelectedBrushChanged += ColorPicker_SelectedBrushChanged;

private void ColorPicker_SelectedBrushChanged(object sender, SelectedBrushChangedEventArgs e)
{
    var oldColor = e.OldBrush;
    var newColor = e.NewBrush;
    
    // Apply the selected color
    myElement.Background = newColor;
}

Common Use Cases

1. Theme Color Selector

Allow users to select application theme colors:

// User selects a color → apply to app background
SfDropDownColorPicker themeColorPicker = new SfDropDownColorPicker();
themeColorPicker.SelectedBrushChanged += (s, e) => 
{
    Window.Current.Content.Background = e.NewBrush;
};
2. Split Button Mode for Direct Application

Apply last selected color with button click, open dropdown to change:

<editors:SfDropDownColorPicker DropDownMode="Split"
                               Command="{x:Bind ApplyColorCommand}" />
3. Custom Color Editor Interface

Embed specific color picker configuration:

<editors:SfDropDownColorPicker>
    <FlyoutBase.AttachedFlyout>
        <editors:DropDownFlyout>
            <editors:SfColorPicker BrushTypeOptions="LinearGradientBrush" 
                                   Width="250" />
        </editors:DropDownFlyout>
    </FlyoutBase.AttachedFlyout>
</editors:SfDropDownColorPicker>
4. Positioned Dropdown (Top-Right)

Control where the color picker opens:

<editors:SfDropDownColorPicker DropDownPlacement="TopEdgeAlignedRight" />

Key Properties

PropertyTypePurposeCommon Values
SelectedBrushBrushCurrently selected colorColors.Blue, new SolidColorBrush()
DropDownModeenumDropdown behaviorDropdown, Split
DropDownPlacementFlyoutPlacementModePosition of dropdownFull, Top, Bottom, Left, Right
CommandICommandCommand triggered on button clickCustom ICommand implementation

Common Patterns

Pattern 1: Color Binding to UI Element
// When color is selected, immediately apply to target element
void ColorPicker_SelectedBrushChanged(object sender, SelectedBrushChangedEventArgs e)
{
    targetRectangle.Fill = e.NewBrush;
}
Pattern 2: Validating Color Selection
void ColorPicker_SelectedBrushChanged(object sender, SelectedBrushChangedEventArgs e)
{
    // Validate color meets requirements
    if (IsValidColor(e.NewBrush))
    {
        ApplyColor(e.NewBrush);
    }
    else
    {
        colorPicker.SelectedBrush = e.OldBrush; // Revert
    }
}
Pattern 3: Split Mode with Custom Command
public ICommand QuickApplyCommand => new RelayCommand(() =>
{
    // Apply current selected color without opening dropdown
    ApplySelectedColorToTextSelection();
});

Next Steps

  • Start with: getting-started.md to set up basic DropDown Color Picker
  • Then explore: Other reference guides based on your specific needs
  • For production: Review all guides for complete customization capabilities

Comments

Markdown supported