Edit this page

Getting Started

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.

XAML

<telerik:RadColorPicker SelectedColor="Red" />

C#

RadColorPicker colorPicker = new RadColorPicker();
colorPicker.SelectedColor = Colors.Red;

VB.NET

Dim colorPicker As New RadColorPicker()
colorPicker.SelectedColor = Colors.Red

Whenever a color is selected the SelectedColorChanged event is raised:

C#

colorPicker.SelectedColorChanged += new EventHandler(RadColorPicker_SelectedColorChanged1);

void RadColorPicker_SelectedColorChanged1(object sender, EventArgs e)
{
   RadColorPicker colorPicker = sender as RadColorPicker;
   Color selectedColor = colorPicker.SelectedColor;
}

VB.NET

colorPicker.SelectedColorChanged += New EventHandler(RadColorPicker_SelectedColorChanged)

Private Sub RadColorPicker_SelectedColorChanged(ByVal sender As Object, ByVal e As EventArgs)
    Dim colorPicker As RadColorPicker = TryCast(sender, RadColorPicker)
    Dim selectedColor As Color = colorPicker.SelectedColor
End Sub

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:

    XAML

    <telerik:RadColorPicker MainPalette="Grayscale" />
    

    C#

    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.MainPalette = ColorPreset.Grayscale;
    

    VB.NET

    Dim colorPicker As New RadColorPicker()
    colorPicker.MainPalette = ColorPreset.Grayscale
    
  • HeaderPalette property:

    XAML

    <telerik:RadColorPicker HeaderPalette="Office" />
    

    C#

    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.HeaderPalette = ColorPreset.Office;
    

    VB.NET

    Dim colorPicker As New RadColorPicker()
    colorPicker.HeaderPalette = ColorPreset.Office
    
  • StandardPalette property:

    XAML

    <telerik:RadColorPicker StandardPalette="Standard" />
    

    C#

    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.StandardPalette = ColorPreset.Standard;
    

    VB.NET

    Dim colorPicker As 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

    XAML

    <telerik:RadColorPicker StandardPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />
    

    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;
    

    VB.NET

    Dim colorPicker As New RadColorPicker()
    colorPicker.StandardPaletteVisibility = Visibility.Visible
    Dim colors1 As New Collection(Of Color)()
    colors1.Add(Colors.Red)
    colors1.Add(Colors.Green)
    colors1.Add(Colors.Blue)
    colorPicker.StandardPaletteItemsSource = colors1
    
  • HeaderPaletteItemSource property

    XAML

    <telerik:RadColorPicker HeaderPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />
    

    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;
    

    VB.NET

    Dim colorPicker As New RadColorPicker()
    colorPicker.HeaderPaletteVisibility = Visibility.Visible
    Dim colors1 As New Collection(Of Color)()
    colors1.Add(Colors.Red)
    colors1.Add(Colors.Green)
    colors1.Add(Colors.Blue)
    colorPicker.HeaderPaletteItemsSource = colors1
    
  • MainPaletteItemSource property

    XAML

    <telerik:RadColorPicker MainPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />
    

    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;
    

    VB.NET

    Dim colorPicker As New RadColorPicker()
    Dim colors1 As New Collection(Of Color)()
    colors1.Add(Colors.Red)
    colors1.Add(Colors.Green)
    colors1.Add(Colors.Blue)
    colorPicker.MainPaletteItemsSource = colors1
    

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.