A newer version of this page is available. Switch to the current version.

TreeMapItemGroupInfo Struct

This class stores information about a tree map item group.

Namespace: DevExpress.XtraTreeMap

Assembly: DevExpress.XtraTreeMap.v18.2.dll


public struct TreeMapItemGroupInfo :
Public Structure TreeMapItemGroupInfo
    Implements IItemGroupInfo


This class provides information about a tree map group to the ITreeMapColorizer.GetItemColor method. This information contains a group's nested level (TreeMapItemGroupInfo.GroupLevel), group index in the level (TreeMapItemGroupInfo.GroupIndex), minimum and maximum values in the group (TreeMapItemGroupInfo.MinValue and TreeMapItemGroupInfo.MaxValue), and current item index in the group (TreeMapItemGroupInfo.ItemIndex).


To implement a custom colorizer, design a class implementing the ITreeMapColorizer interface and implement the interface ITreeMapColorizer.GetItemColor method. After that, an instance of the class can be assigned to the TreeMapControl.Colorizer property.

using DevExpress.TreeMap;
using DevExpress.XtraTreeMap;
using System;
using System.Drawing;

namespace CustomColorizerSample {
    class CustomColorizer : ITreeMapColorizer {
        Palette palette = Palette.Office2016Palette;

        public Palette Palette {
            get { return palette; }
            set {
                if(palette.Equals(value)) return;
                palette = value;

        public event ColorizerChangedEventHandler ColorizerChanged;

        public Color GetItemColor(ITreeMapItem item, TreeMapItemGroupInfo group) {
            if(item.Children.Count == 0) {
                Color itemColor = Palette[group.ItemIndex % Palette.Count];
                double itemWeight = (item.Value - group.MinValue) / (group.MaxValue - group.MinValue);
                if(Double.IsNaN(itemWeight)) itemWeight = 1;

                return Color.FromArgb(
                    (int)(itemWeight * 255),
                return Palette[Palette.Count - 1 - (group.GroupIndex + group.GroupLevel + group.ItemIndex) % Palette.Count];


        void RaiseColorizerChanged() {
            if(ColorizerChanged == null) return;
            ColorizerChanged.Invoke(this, new ColorizerChangedEventArgs());
See Also