ITreeMapColorizer.GetItemColor(ITreeMapItem, TreeMapItemGroupInfo) Method
In This Article
Returns the color for the specified item with the specified tree location.
Namespace: DevExpress.XtraTreeMap
Assembly: DevExpress.XtraTreeMap.v24.2.dll
NuGet Package: DevExpress.TreeMap
#Declaration
Color GetItemColor(
ITreeMapItem item,
TreeMapItemGroupInfo group
)
#Parameters
Name | Type | Description |
---|---|---|
item | ITree |
An object of a class implementing the ITree |
group | Tree |
A Tree |
#Returns
Type | Description |
---|---|
Color | A Color value that is the color of the specified item. |
#Example
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;
RaiseColorizerChanged();
}
}
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),
itemColor.R,
itemColor.G,
itemColor.B
);
}
else
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