RadControls for WPF

Selection

RadColorPicker is a control that displays a set of palettes from which the user can select a single color.

Note

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

You can find more info here.

It has a SelectedColor property, which is of Color type and it is used to store selected color value.

CopyXAML
<telerik:RadColorPicker SelectedColor="Red" />

where the telerik alias point to the following namespace:

CopyXAML
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"

CopyC#
RadColorPicker colorPicker = new RadColorPicker();
colorPicker.SelectedColor = Colors.Red;
CopyVB.NET
Dim colorPicker As New RadColorPicker()
colorPicker.SelectedColor = Colors.Red

Whenever a color is selected the SelectedColorChanged event is raised:

CopyC#
colorPicker.SelectedColorChanged += new EventHandler(RadColorPicker_SelectedColorChanged1);

void RadColorPicker_SelectedColorChanged1(object sender, EventArgs e)
{
   RadColorPicker colorPicker = sender as RadColorPicker;
   Color selectedColor = colorPicker.SelectedColor;
}
CopyVB.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:

    CopyXAML
    <telerik:RadColorPicker MainPalette="Grayscale" />
    CopyC#
    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.MainPalette = ColorPreset.Grayscale;
    CopyVB.NET
    Dim colorPicker As New RadColorPicker()
    colorPicker.MainPalette = ColorPreset.Grayscale
  • HeaderPalette property:

    CopyXAML
    <telerik:RadColorPicker HeaderPalette="Office" />
    CopyC#
    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.HeaderPalette = ColorPreset.Office;
    CopyVB.NET
    Dim colorPicker As New RadColorPicker()
    colorPicker.HeaderPalette = ColorPreset.Office
  • StandardPalette property:

    CopyXAML
    <telerik:RadColorPicker StandardPalette="Standard" />
    CopyC#
    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.StandardPalette = ColorPreset.Standard;
    CopyVB.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

    CopyXAML
    <telerik:RadColorPicker tandardPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />
    CopyC#
    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;
    CopyVB.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

    CopyXAML
    <telerik:RadColorPicker HeaderPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />
    CopyC#
    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;
    CopyVB.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

    CopyXAML
    <telerik:RadColorPicker MainPaletteItemsSource="{Binding Source={StaticResource ColorList}}" />
    CopyC#
    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;
    CopyVB.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:

    CopyXAML
    <telerik:RadColorPicker SelectedColorChanged="colorPicker_SelectedColorChanged" />
    CopyC#
    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.SelectedColorChanged += new EventHandler(RadColorPicker_SelectedColorChanged);
    
    void RadColorPicker_SelectedColorChanged(object sender, EventArgs e)
    {
       RadColorPicker colorPicker = sender as RadColorPicker;
       Color selectedColor = colorPicker.SelectedColor;
    }
    CopyVB.NET
    Dim colorPicker As New RadColorPicker()
    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
  • DropDownClosed

    Whenever the drop down with the colors is closed then DropDownClosed event is rised.

    CopyXAML
    <telerik:RadColorPicker DropDownClosed="colorPicker_DropDownClosed" />
    CopyC#
    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.DropDownClosed += new EventHandler(colorPicker_DropDownClosed);
    
    private void colorPicker_DropDownClosed(object sender, EventArgs e)
    {
        // handle the DropDownClosed event
    }
    CopyVB.NET
    Dim colorPicker As New RadColorPicker()
    colorPicker.DropDownClosed += New EventHandler(colorPicker_DropDownClosed)
    
    Private Sub colorPicker_DropDownClosed(ByVal sender As Object, ByVal e As EventArgs)
        ' handle the DropDownClosed event
    End Sub
  • DropDownOpened

    Whenever the drop down with the colors is opened then DropDownOpened event is rised.

    CopyXAML
    <telerik:RadColorPicker DropDownOpened="colorPicker_DropDownOpened" />
    CopyC#
    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.DropDownOpened += new EventHandler(colorPicker_DropDownOpened);
    private void colorPicker_DropDownOpened(object sender, EventArgs e)
    {
        // handle the DropDownOpened event
    }
    CopyVB.NET
    Dim colorPicker As New RadColorPicker()
    colorPicker.DropDownOpened += New EventHandler(colorPicker_DropDownOpened)
    
    Private Sub colorPicker_DropDownOpened(ByVal sender As Object, ByVal e As EventArgs)
        ' handle the DropDownOpened event
    End Sub
  • Click

    RadColorPicker has a Click event. Whenever the color button is clicked Click event is raised:

    CopyXAML
    <telerik:RadColorPicker Click="RadColorPicker_Click" />
    CopyC#
    RadColorPicker colorPicker = new RadColorPicker();
    colorPicker.Click += new EventHandler(colorPicker_Click);
    
    private void colorPicker_Click(object sender, EventArgs e)
    {
        // handle the Click event
    }
    CopyVB.NET
    Dim colorPicker As New RadColorPicker()
    colorPicker.Click += New EventHandler(colorPicker_Click)
    
    Private Sub colorPicker_Click(ByVal sender As Object, ByVal e As EventArgs)
        ' handle the Click event
    End Sub