Back to Devexpress

DashboardDesigner.CustomPalette Event

dashboard-devexpress-dot-dashboardwin-dot-dashboarddesigner-b6ffd5e9.md

latest7.1 KB
Original Source

DashboardDesigner.CustomPalette Event

Provides the capability to substitute the default palette containing colors used to paint dashboard item elements.

Namespace : DevExpress.DashboardWin

Assembly : DevExpress.Dashboard.v25.2.Win.dll

NuGet Package : DevExpress.Win.Dashboard

Declaration

csharp
public event CustomPaletteEventHandler CustomPalette
vb
Public Event CustomPalette As CustomPaletteEventHandler

Event Data

The CustomPalette event's data class is CustomPaletteEventArgs. The following properties provide information specific to this event:

PropertyDescription
PaletteGets or sets a palette used to color dashboard item elements.

Remarks

DevExpress Dashboard uses a set of 20 unique colors from the default palette to color dashboard item elements (for instance, Chart series points or Pie segments). You can use the static DashboardPalette.Default field to access the default palette.

Handle the CustomPalette event to create a your own palette providing custom colors. To do this, create and initialize the DashboardPalette class instance and assign the resulting object to the CustomPaletteEventArgs.Palette event parameter.

Example

The following code snippets demonstrate how to customize a palette of the Choropleth map.

In this example, a set of custom colors is used to color map shapes depending on the provided values. Absolute values are used to specify endpoints for color ranges.

csharp
using System.Collections.Generic;
using System.Drawing;
using DevExpress.DashboardCommon;
using DevExpress.XtraEditors;

namespace Dashboard_ChoroplethMapCustomPalette {
    public partial class Form1 : XtraForm {
        public Form1() {
            InitializeComponent();
            // Loads a dashboard that contains a choropleth map with the default palette.
            Dashboard dashboard = new Dashboard();
            dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml");

            // Gets the ValueMap object that provides data for coloring map shapes.
            ChoroplethMapDashboardItem map = (ChoroplethMapDashboardItem)dashboard.Items[0];
            ValueMap populationMap = (ValueMap)map.Maps[0];

            // Creates CustomPalette and CustomScale objects.
            CustomPalette customPalette = new CustomPalette();
            CustomScale customScale = new CustomScale();

            // Creates lists of custom colors and range stops.
            List<Color> customColors = new List<Color>();
            List<double> rangeStops = new List<double>();

            // Specifies that the absolute scale is used to define a set of colors.
            customScale.IsPercent = false;

            // Specifies custom colors and corresponding range stops.   
            customColors.Add(Color.LightBlue); rangeStops.Add(100000);
            customColors.Add(Color.SkyBlue); rangeStops.Add(1000000);
            customColors.Add(Color.LightCoral); rangeStops.Add(10000000);
            customColors.Add(Color.Tomato); rangeStops.Add(100000000);
            customColors.Add(Color.Maroon); rangeStops.Add(1000000000);

            // Adds custom colors and range stops to a custom palette and corresponding custom scale.
            customPalette.Colors.AddRange(customColors);
            customScale.RangeStops.AddRange(rangeStops);

            // Specifies a custom palette and scale for the ValueMap object.
            populationMap.Palette = customPalette;
            populationMap.Scale = customScale;

            // Sets the customized dashboard as a currently opened dashboard.
            dashboardViewer1.Dashboard = dashboard;
        }
    }
}
vb
Imports System.Collections.Generic
Imports System.Drawing
Imports DevExpress.DashboardCommon
Imports DevExpress.XtraEditors

Namespace Dashboard_ChoroplethMapCustomPalette
    Partial Public Class Form1
        Inherits XtraForm

        Public Sub New()
            InitializeComponent()
            ' Loads a dashboard that contains a choropleth map with the default palette.
            Dim dashboard As New Dashboard()
            dashboard.LoadFromXml("..\..\Data\Dashboard.xml")

            ' Gets the ValueMap object that provides data for coloring map shapes.
            Dim map As ChoroplethMapDashboardItem = CType(dashboard.Items(0), ChoroplethMapDashboardItem)
            Dim populationMap As ValueMap = CType(map.Maps(0), ValueMap)

            ' Creates CustomPalette and CustomScale objects.
            Dim customPalette As New CustomPalette()
            Dim customScale As New CustomScale()

            ' Creates lists of custom colors and range stops.
            Dim customColors As New List(Of Color)()
            Dim rangeStops As New List(Of Double)()

            ' Specifies that the absolute scale is used to define a set of colors.
            customScale.IsPercent = False

            ' Specifies custom colors and corresponding range stops.   
            customColors.Add(Color.LightBlue)
            rangeStops.Add(100000)
            customColors.Add(Color.SkyBlue)
            rangeStops.Add(1000000)
            customColors.Add(Color.LightCoral)
            rangeStops.Add(10000000)
            customColors.Add(Color.Tomato)
            rangeStops.Add(100000000)
            customColors.Add(Color.Maroon)
            rangeStops.Add(1000000000)

            ' Adds custom colors and range stops to a custom palette and corresponding custom scale.
            customPalette.Colors.AddRange(customColors)
            customScale.RangeStops.AddRange(rangeStops)

            ' Specifies a custom palette and scale for the ValueMap object.
            populationMap.Palette = customPalette
            populationMap.Scale = customScale

            ' Sets the customized dashboard as a currently opened dashboard.
            dashboardViewer1.Dashboard = dashboard
        End Sub
    End Class
End Namespace

Implements

CustomPalette

See Also

DashboardDesigner Class

DashboardDesigner Members

DevExpress.DashboardWin Namespace