Skip to main content

Heatmap

Family: Dashboards & Plots
Namespace: Tessera.Controls

Use Heatmap when this interaction is the best match for your screen workflow.

When to use

  • You need a Heatmap-style interaction inside the dashboards & plots lane.
  • A titled widget surface improves scanability in dense shells.
  • You want explicit user-driven events routed into app state updates.

Minimal usage

csharp.cs
using Tessera.Controls;
using Tessera.Layout;

var widget = new Heatmap
{
    Title = "Heatmap"
};

return Screen.Build(window => window.Body(body => body.Center(widget, width: 44, height: 9)));

Common pitfalls

  • Do not choose Heatmap by name only; validate it against the target workflow.
  • Keep this control scoped to the dashboards & plots concern; avoid cross-layer state coupling.
  • Handle control events by posting/processing messages; avoid hidden mutation in render paths.
  • Set focused/normal styles intentionally so keyboard focus remains obvious.
  • Keep disabled state explicit and reversible so users understand why actions are blocked.

Public properties

PropertyType
BorderBorderStyle
BorderStyleTextTesseraStyle
CellStyleTesseraStyle
ColumnCountint
DisabledCellStyleTesseraStyle
EmptyStyleTesseraStyle
EmptyTextstring
FocusedBorderStyleTextTesseraStyle
FocusedSelectedCellStyleTesseraStyle
FocusedTitleStyleTesseraStyle
FocusMarkerstring
HeaderStyleTesseraStyle
HighCellStyleTesseraStyle
HighGlyphchar
HoveredCellStyleTesseraStyle
IsDisabledbool
IsFocusedbool
IsReadOnlybool
LegendStyleTesseraStyle
LowCellStyleTesseraStyle
LowGlyphchar
MidCellStyleTesseraStyle
MidGlyphchar
PaddingThickness
PeakCellStyleTesseraStyle
PeakGlyphchar
RowCountint
SelectedCellStyleTesseraStyle
SelectedColumnint
SelectedRowint
ShowColumnLabelsbool
ShowFocusMarkerbool
ShowLegendbool
ShowRowLabelsbool
Titlestring
TitleStyleTesseraStyle

Public events

EventType
SelectionChangedEventHandler<ListSelectionChangedEventArgs<HeatmapCell?>>?