A unified radial gauge that replaces CircularGauge, CenterValueGauge, and RangeCircularGauge for new projects.
Reference → Controls → Gauge → RadialGauge
The RadialGauge visualizes data from field devices and processes using a circular display. It unifies the behaviors previously split across CircularGauge, CenterValueGauge, and RangeCircularGauge into a single configurable control with presets (Full, SemiCircle, CenterValue, BandedRange). It supports multiple pointer types (Needle, Range, Symbol), a configurable number of colored range bands with individual tag-bindable boundaries, an optional center value annotation, and an optional legend panel.
RadialGauge is 100% Tatsoft source code — no third-party UI library dependency — and runs natively on both Windows (WPF) and the web (HTML5 / WebAssembly).
| Info |
|---|
Replaces three legacy gauges for new projects. RadialGauge supersedes CircularGauge, CenterValueGauge, and RangeCircularGauge. Existing displays continue to work unchanged — there is no automatic migration. Use RadialGauge for new work. |
| Table of Contents | ||||
|---|---|---|---|---|
|
This component is Portable. It runs both on Windows and on Web Pages hosted in any platform.
The Preset property seeds a self-consistent default configuration in a single click. After a preset is applied, every property it touched remains user-overridable.
| Preset | Typical use |
|---|---|
| Full | Classic 270° circular gauge with a needle pointer. The default preset. |
| SemiCircle | Half-circle gauge (180° sweep) with a needle pointer. Fits in shallow layouts. |
| CenterValue | Circular gauge with a range-style progress arc and the numeric value displayed in the center. |
| BandedRange | Circular gauge with three colored range bands (green / orange / red) seeded by default, a visible legend, and a needle pointer. Use for threshold-based visualizations. |
Fields marked Static number or tag accept either a literal value or a tag/expression reference that is resolved at runtime. All other fields (notably color, font, and enum fields) are design-time settings and do not accept tag/expression bindings.
| Field | Description |
|---|---|
| Preset | One-click configuration template. Selecting a preset updates StartAngle, SweepAngle, PointerType, ShowCenterValue, and LegendVisible to a self-consistent default. Properties remain user-overridable afterward. |
| Field | Description |
|---|---|
| Header | Defines the title of the gauge. Accepts a static string or a tag/expression (e.g., {Tag.Zone1/Name}) that is resolved at runtime. |
| Font Size | Sets the font size for the header text. |
| Font Family | Sets the font family for the header text. |
| Alignment | Position of the header within the gauge: Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight. Uses a Grid-based layout so the header and gauge never overlap. |
| Color | Foreground color of the header text. |
| Localize | When the header is static text, marks it as localizable so it participates in translation. |
| Field | Description |
|---|---|
| Linked Value | Tag or expression whose value the gauge indicates (e.g., @Tag.Motor1/Speed). |
| Min Value | Scale minimum. Static number or tag. |
| Max Value | Scale maximum. Static number or tag. |
| Field | Description |
|---|---|
| Start Angle | Starting angle of the rim arc, in degrees. 0° points up (12 o'clock); angles increase clockwise. |
| Sweep Angle | Arc length in degrees. 360° draws a full circle. |
| Show Rim | Toggle the visibility of the rim arc. When off, only ticks, labels, ranges, and pointer are drawn. |
| Rim Thickness | Thickness of the rim arc stroke. Static number or tag. |
| Rim Color | Color of the rim arc stroke. |
| Field | Description |
|---|---|
| Show Ticks | Toggles the visibility of tick marks. |
| Show Labels | Toggles the visibility of numeric labels on major ticks. |
| Major Ticks | Number of major tick marks (clamped 2..15). Static number or tag. |
| Minor / Interval | Number of minor ticks between two major ticks (clamped 0..10). Static number or tag. |
| Tick Color | Color of the tick marks. |
| Label Position | Inside: labels render inside the rim. Outside: labels render outside the rim. |
| Label Font Size | Font size for the numeric tick labels. |
| Label Font Family | Font family for the numeric tick labels. |
| Label Format | Standard .NET numeric format string (e.g., G, F2, N0, 0.00). |
| Field | Description |
|---|---|
| Pointer Type | Primary pointer style:
|
| Show Second Needle | When Pointer Type is Range or Symbol, also shows a needle overlay at the current value. Ignored when Pointer Type is Needle. |
| Pointer Thickness | Thickness of the pointer stroke. Static number or tag. |
| Pointer Color | Color of the pointer. |
| Needle Shape | Needle visual: Line (thin stroke), Triangle (wide base), Tapered (narrow base). |
| Knob Color | Fill color of the center knob at the needle pivot. |
| Needle Length | Fraction of the arc radius covered by the needle (0.1 to 1.0). Slider in the config dialog commits on release. |
| Field | Description |
|---|---|
| Show Center Value | Displays the current numeric value in the center of the gauge. Automatically enabled by the CenterValue preset. |
| Format | Standard .NET numeric format string applied to the displayed value. |
| Font Size | Font size of the center value text. |
| Font Family | Font family of the center value text. |
| Color | Foreground color of the center value text. |
Each range is a colored band on the scale. Ranges are added via the Add Range button; each row's chevron expands to reveal the Offset and Rounded Corner advanced fields. Each range boundary (Start, End) accepts a static number or a tag, so ranges can move at runtime based on live setpoints.
| Field | Description |
|---|---|
| Show | Toggle visibility of this range. |
| Start | Lower boundary. Static number or tag. |
| End | Upper boundary. Static number or tag. |
| Color | Fill color of the range band. |
| Thick (Thickness) | Width of the band stroke. |
| Legend | Display name shown in the Legend panel (when the legend is visible). Leave empty to omit from the legend. |
| Offset | Radial offset from the rim centerline. Positive pushes the band outward; negative pulls it inward. Useful for stacking multiple bands at different radii. |
| Rounded Corner | 0 for square end caps; greater than 0 for rounded end caps on the range band. |
| Field | Description |
|---|---|
| Show Legend | Show a legend panel listing the named ranges. Automatically enabled by the BandedRange preset. |
| Shape | Swatch shape: Circle, Diamond, Rectangle, Triangle. |
| Position | Legend panel placement relative to the gauge: Top, Bottom, Left, Right, Auto. |
During runtime the RadialGauge reads its bound value and updates the pointer without redrawing the whole gauge on every tick, keeping the visual smooth on busy displays. Dynamic headers ({Tag.X}) resolve live from their bound tags. Per-range tag bindings allow range boundaries to move at runtime based on live setpoints or alarm limits. The RadialGauge runs in the same rendering model on both Windows and Web, so visuals match end-to-end.