Getting Started with WPF ColorPicker
Adding Telerik Assemblies Using NuGet
To use RadColorPicker when working with NuGet packages, install the Telerik.Windows.Controls.Input.for.Wpf.Xaml package. The package name may vary slightly based on the Telerik dlls set - Xaml or NoXaml
Read more about NuGet installation in the Installing UI for WPF from NuGet Package article.
With the 2025 Q1 release, the Telerik UI for WPF has a new licensing mechanism. You can learn more about it here.
Adding Assembly References Manually
If you are not using NuGet packages, you can add a reference to the following assemblies:
- Telerik.Licensing.Runtime
- Telerik.Windows.Controls
- Telerik.Windows.Controls.Input
You can find the required assemblies for each control from the suite in the Controls Dependencies help article.
Selection
RadColorPicker is a control that displays a set of palettes from which the user can select a single color.
In order to use RadColorPicker in your projects you have to add references to the following two assemblies
- Telerik.Windows.Controls
- Telerik.Windows.Controls.Input
It has a SelectedColor property, which is of Color type and it is used to store selected color value.
Example 1
<telerik:RadColorPicker SelectedColor="Red" />
Example 2
RadColorPicker colorPicker = new RadColorPicker();
colorPicker.SelectedColor = Colors.Red;Whenever a color is selected the SelectedColorChanged event is raised:
Example 3
colorPicker.SelectedColorChanged += new EventHandler(RadColorPicker_SelectedColorChanged1);
void RadColorPicker_SelectedColorChanged1(object sender, EventArgs e)
{
RadColorPicker colorPicker = sender as RadColorPicker;
Color selectedColor = colorPicker.SelectedColor;
}Populating
You can populate the RadColorSelector with any of the built-in palettes using the ColorPreset enum . It has HeaderPalette, MainPalette and StandardPalette properties, which represent the corresponding parts of the selector.
-
MainPalette property:
Example 4
XAML<telerik:RadColorPicker MainPalette="Grayscale" />Example 4
C#RadColorPicker colorPicker = new RadColorPicker(); colorPicker.MainPalette = ColorPreset.Grayscale; -
HeaderPalette property:
Example 6
XAML<telerik:RadColorPicker HeaderPalette="Office" />Example 7
C#RadColorPicker colorPicker = new RadColorPicker(); colorPicker.HeaderPalette = ColorPreset.Office; -
StandardPalette property:
Example 8
XAML<telerik:RadColorPicker StandardPalette="Standard" />Example 9
C#RadColorPicker colorPicker = new RadColorPicker(); colorPicker.StandardPalette = ColorPreset.Standard;
If you prefer to use your own collection of Colors you can always use HeaderPaletteItemsSource, MainPaletteItemsSource and StandardPaletteItemsSource.
-
StandardPaletteItemSource property
Example 10
XAML<telerik:RadColorPicker StandardPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />Example 11
C#RadColorPicker colorPicker = new RadColorPicker(); colorPicker.StandardPaletteVisibility = Visibility.Visible; Collection<Color> colors = new Collection<Color>(); colors.Add(Colors.Red); colors.Add(Colors.Green); colors.Add(Colors.Blue); colorPicker.StandardPaletteItemsSource = colors; -
HeaderPaletteItemSource property
Example 12
XAML<telerik:RadColorPicker HeaderPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />Example 13
C#RadColorPicker colorPicker = new RadColorPicker(); colorPicker.HeaderPaletteVisibility = Visibility.Visible; Collection<Color> colors = new Collection<Color>(); colors.Add(Colors.Red); colors.Add(Colors.Green); colors.Add(Colors.Blue); colorPicker.HeaderPaletteItemsSource = colors; -
MainPaletteItemSource property
Example 14
XAML<telerik:RadColorPicker MainPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />Example 15
C#RadColorPicker colorPicker = new RadColorPicker(); Collection<Color> colors = new Collection<Color>(); colors.Add(Colors.Red); colors.Add(Colors.Green); colors.Add(Colors.Blue); colorPicker.MainPaletteItemsSource = colors;
Events
-
SelectedColorChanged RadColorPicker has SelectedColor property which is of Color type and is used to store selected color value. Whenever a color is selected SelectedColorChanged event is raised.
-
DropDownClosed Raised when the SplitButton is closed.
-
DropDownOpening Raised when the SplitButton is about to be opened.
-
DropDownOpened Raised when the SplitButton is opened.
-
Click Raised when the left part of the SplitButton is clicked.
Properties
-
IsDropDownOpen - Opens or closes the drop down content.
-
DropDownPlacement - Sets the DropDownPlacement of the drop down content
-
ContentTemplate - Should be used to define the custom Content of the RadColorPicker. Content property should not be used for this purpose
-
PaletteItemsTemplate - Should be used in MVVM scenarios to get or set the ContentTemplate of the RadColorPaletteViewItems from the MainPalette, HeaderPalette, StandartPalette. It is not applied to RecentPalette items.
-
ColorPropertyPath - the control uses this path to find the property of type System.Windows.Media.Color in the DataContext of the RadColorPaletteViewItems. The behavior of this property mimics the behavior of the ItemsControl.DisplayMemberPath property.
-
SelectedItem - should be used in MVVM scenarios and it holds the selected ViewModel - the DataContext of the selected RadColorPaletteViewItem.
-
IsRecentColorsActive - defines wether a customized color, not existing in the MainPalette, HeaderPalette, StandartPalette or RecentPalette should be added in the RecentColorsPaletteView. If there is such a color this palette will be visible.
-
AdditionalContent - can be used to add customized content under RadColorPicker control.
Telerik UI for WPF Learning Resources
- Telerik UI for WPF ColorPicker Component
- Getting Started with Telerik UI for WPF Components
- Telerik UI for WPF Installation
- Telerik UI for WPF and WinForms Integration
- Telerik UI for WPF Visual Studio Templates
- Setting a Theme with Telerik UI for WPF
- Telerik UI for WPF Virtual Classroom (Training Courses for Registered Users)
- Telerik UI for WPF License Agreement