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

CrosshairOptions.GroupHeaderPattern Property

Gets or sets a pattern that specifies the group header text to be displayed within the crosshair label.

Namespace: DevExpress.XtraCharts

Assembly: DevExpress.XtraCharts.v18.2.dll


public string GroupHeaderPattern { get; set; }
Public Property GroupHeaderPattern As String

Property Value

Type Description

The group header's pattern.

Property Paths

You can access this nested property as listed below:

Library Object Type Path to GroupHeaderPattern
WinForms Controls ChartControl
ASP.NET Controls and MVC Extensions ChartControlSettings


GroupHeaderPattern can contain plain text and placeholders with format specifiers. The following placeholders are available:

Placeholder Description
{A} Displays an argument. CrosshairOptions.SnapMode should be set to NearestArgument.
{V} Displays a value. CrosshairOptions.SnapMode should be set to NearestValue.

The following image shows this property in action with the "Year: {A}" pattern.


You can use the Pattern Editor to specify the pattern. Click the GroupHeaderPattern property's ellipsis button in the Properties window to invoke the editor.


A crosshair group header is not displayed on the crosshair label when the CrosshairOptions.CrosshairLabelMode property is set either to CrosshairLabelMode.ShowForEachSeries or CrosshairLabelMode.ShowForNearestSeries modes and when the crosshair is only allowed for a single series. Specify GroupHeaderPattern to make the Crosshair Cursor always show group headers.

See the Crosshair Cursor topic for more information.


This example demonstrates how to change a text displayed in crosshair labels using crosshair format patterns.

To accomplish this, it is necessary to specify a string which will represent the pattern displayed within a crosshair label using the CrosshairAxisLabelOptions.Pattern, SeriesBase.CrosshairLabelPattern, and CrosshairOptions.GroupHeaderPattern properties.

In addition, standard and custom format specifiers are used together with the placeholders to format numeric and date/time values (e.g., "{A:F0}"). To learn more, see the Format Specifiers topic.

To learn more on crosshair cursors, see the Tooltip and Crosshair Cursor topic.

using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;

namespace FormatCrosshairLabels
    public partial class Form1 : Form
        public Form1()
            this.Load += new System.EventHandler(this.Form1_Load);

        private void Form1_Load(object sender, EventArgs e)
            // Create an empty chart.
            ChartControl chartControl1 = new ChartControl();

            // Create a first line series and add points to it.
            Series series1 = new Series("Europe", ViewType.Line);
            series1.Points.Add(new SeriesPoint(1950, 546));
            series1.Points.Add(new SeriesPoint(1960, 605));
            series1.Points.Add(new SeriesPoint(1970, 656));
            series1.Points.Add(new SeriesPoint(1980, 694));
            series1.Points.Add(new SeriesPoint(1990, 721));
            series1.Points.Add(new SeriesPoint(2000, 730));
            series1.Points.Add(new SeriesPoint(2010, 728));

            // Create a second line series and add points to it.
            Series series2 = new Series("Americas", ViewType.Line);
            series2.Points.Add(new SeriesPoint(1950, 332));
            series2.Points.Add(new SeriesPoint(1960, 417));
            series2.Points.Add(new SeriesPoint(1970, 513));
            series2.Points.Add(new SeriesPoint(1980, 614));
            series2.Points.Add(new SeriesPoint(1990, 721));
            series2.Points.Add(new SeriesPoint(2000, 836));
            series2.Points.Add(new SeriesPoint(2010, 935));

            // Add the series to the chart.

            // Hide the legend (if necessary).
            chartControl1.Legend.Visible = false;

            //Show crosshair axis lines and crosshair axis labels to see format values of crosshair labels 
            chartControl1.CrosshairOptions.ShowArgumentLabels = true;
            chartControl1.CrosshairOptions.ShowValueLabels = true;
            chartControl1.CrosshairOptions.ShowValueLine = true;
            chartControl1.CrosshairOptions.ShowArgumentLine = true;

            // Specify the crosshair label pattern for both series.
            series1.CrosshairLabelPattern = "{S} population: {V}";
            series2.CrosshairLabelPattern = "{S} population: {V}";

            // Specify the crosshair group header pattern.
            chartControl1.CrosshairOptions.GroupHeaderPattern = "Year: {A}";

            // Cast the chart's diagram to the XYDiagram type, to access its axes.
            XYDiagram diagram = (XYDiagram)chartControl1.Diagram;

            // Specify the crosshair axis labels pattern for X-axis.
            diagram.AxisX.CrosshairAxisLabelOptions.Pattern = "Year: {A:F0}";

            // Add the chart to the form.
            chartControl1.Dock = DockStyle.Fill;



See Also