Define and Use Custom Chart Palette

When a user needs to define custom sets of colors, they can take advantage of Custom Palettes. This can be done in either code-behind or XAML.Define a Palette in Code-behind

Create a static class to define a custom palette instance.

public class CustomPalettes
{
    static CustomPalettes()
    {
        CreateCustomDarkPalette();
    }

    private static void CreateCustomDarkPalette()
    {
        ChartPalette palette = new ChartPalette() { Name = "CustomDark" };

        // fill
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 40, 152, 228)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 255, 205, 0)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 255, 60, 0)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 210, 202, 202)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 67, 67, 67)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 255, 156)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 109, 49, 255)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 178, 161)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 109, 255, 0)));
        palette.FillEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 255, 128, 0)));

        // stroke
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 96, 194, 255)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 255, 225, 122)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 255, 108, 79)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 229, 229, 229)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 84, 84, 84)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 0, 255, 156)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 130, 79, 255)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 69, 204, 191)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 185, 255, 133)));
        palette.StrokeEntries.Brushes.Add(new SolidColorBrush(Color.FromArgb(255, 255, 175, 94)));

        CustomDark = palette;
    }

    public static ChartPalette CustomDark { get; private set; }

}

Set the chart palette to your custom defined one.

this.chart.Palette = CustomPalettes.CustomDark;

Define a Palette in XAML

Define a custom palette instance in your resources.

<telerik:ChartPalette x:Key="CustomPalette">
    <telerik:ChartPalette.FillEntries>
        <telerik:PaletteEntryCollection>
            <SolidColorBrush Color="Green"></SolidColorBrush>
            <SolidColorBrush Color="Gray"></SolidColorBrush>
            <SolidColorBrush Color="Blue"></SolidColorBrush>
            <SolidColorBrush Color="Red"></SolidColorBrush>
        </telerik:PaletteEntryCollection>
    </telerik:ChartPalette.FillEntries>
    <telerik:ChartPalette.StrokeEntries>
        <telerik:PaletteEntryCollection>
            <SolidColorBrush Color="LightGreen"></SolidColorBrush>
            <SolidColorBrush Color="LightGray"></SolidColorBrush>
            <SolidColorBrush Color="LightBlue"></SolidColorBrush>
            <SolidColorBrush Color="OrangeRed"></SolidColorBrush>
        </telerik:PaletteEntryCollection>
    </telerik:ChartPalette.StrokeEntries>
</telerik:ChartPalette>

Set the chart palette to your custom defined one.

<telerik:RadCartesianChart x:Name="chart" Palette="{StaticResource CustomPalette}"/>
In this article