DxChartCrosshair Class
Contains settings for DxChart crosshairs.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v24.2.dll
NuGet Package: DevExpress.Blazor
Declaration
public class DxChartCrosshair :
DxChartCrosshairLineBase<DxChartCrosshair, CrosshairModel>,
IModelProvider<CrosshairHorizontalLineModel>,
IModelProvider<CrosshairVerticalLineModel>
Remarks
The DxChart<T> component supports crosshairs – vertical and horizontal lines centered on a data point that help precisely identify series point values. When enabled, the crosshair follows the cursor and snaps to the nearest series point.
Enable Crosshairs
Follow the steps below to enable the crosshair functionality:
- Add a
<DxChartCrosshair>
object to the chart markup. - Set the DxChartCrosshair.Enabled property to
true
.
@rendermode InteractiveServer
<DxChart Data="@DataSource"
Width="100%"
Height="500px">
<DxChartTitle Text="DevAV Sales" />
<DxChartArgumentAxis TickInterval="1">
<DxChartAxisTitle Text="Year" />
<DxChartAxisLabel Format="ChartElementFormat.Decimal()" />
</DxChartArgumentAxis>
<DxChartCrosshair Enabled="true" />
<DxChartCommonSeries NameField="@((SalesAmountData s) => s.ProductCategory)"
ArgumentField="@((SalesAmountData s) => s.Year)"
ValueField="@((SalesAmountData s) => s.SalesAmount)">
<SeriesTemplate Context="settings">
<DxChartSplineSeries Settings="@settings" />
</SeriesTemplate>
</DxChartCommonSeries>
<DxChartLegend VerticalAlignment="VerticalEdge.Bottom"
Position="RelativePosition.Outside" />
<DxChartTooltip Enabled="true">
<div style="margin: 0.75rem">
<div>
@($"{context.Point.SeriesName}: ${context.Point.Value}K")
</div>
</div>
</DxChartTooltip>
</DxChart>
@code {
IEnumerable<SalesAmountData> DataSource = Enumerable.Empty<SalesAmountData>();
protected override void OnInitialized() {
DataSource = GenerateData();
}
}
Common Settings: Vertical and Horizontal Crosshair Lines
You can configure common crosshair settings at the DxChartCrosshair
component level. The following properties are available:
- Color | Opacity
- Specify the line color and opacity.
- Width | DashStyle
- Specify the line width and style.
<DxChart Data="@DataSource"
Width="100%"
Height="500px">
@* ... *@
<DxChartCrosshair Enabled="true"
Width="2"
DashStyle="ChartDashStyle.Dot"
Color="#5f368d"
Opacity="0.9" />
</DxChart>
Line Labels
Add a DxChartCrosshairLabel object to the <DxChartCrosshair>
component markup and enable the DxChartCrosshairLabel.Visible property to display crosshair labels.
Use the following properties to customize labels:
- BackgroundColor
- Specifies the label background color.
- Format
- Specifies the text format in crosshair labels.
You can also add a DxChartFont object to the DxChartCrosshairLabel component markup to configure label font settings.
<DxChart Data="@DataSource"
Width="100%"
Height="500px">
@* ... *@
<DxChartCrosshair Enabled="true"
Width="2"
DashStyle="ChartDashStyle.Dot"
Color="#5f368d"
Opacity="0.9">
<DxChartCrosshairLabel Visible="true"
BackgroundColor="#888">
<DxChartFont Color="white" />
</DxChartCrosshairLabel>
</DxChartCrosshair>
</DxChart>
Individual Line Settings
Add a DxChartCrosshairHorizontalLine or DxChartCrosshairVerticalLine object to the <DxChartCrosshair>
component markup to override common settings for horizontal or vertical crosshair lines.
You can also use the DxChartCrosshairHorizontalLine.Visible or DxChartCrosshairVerticalLine.Visible property to specify whether hozirontal or vertical lines are visible.
<DxChart Data="@DataSource"
Width="100%"
Height="500px">
@* ... *@
<DxChartCrosshair Enabled="true"
Width="2"
DashStyle="ChartDashStyle.Dot"
Color="#5f368d"
Opacity="0.9">
<DxChartCrosshairLabel Visible="true"
BackgroundColor="#888">
<DxChartFont Color="white" />
</DxChartCrosshairLabel>
<DxChartCrosshairHorizontalLine Width="3"
Opacity="0.7">
<DxChartCrosshairLabel Format='ChartElementFormat.FromLdmlString("$#.0")'>
<DxChartFont Weight="700" />
</DxChartCrosshairLabel>
</DxChartCrosshairHorizontalLine>
<DxChartCrosshairVerticalLine Color="#28a745" >
<DxChartCrosshairLabel BackgroundColor="#28a745">
<DxChartFont Size="16" />
</DxChartCrosshairLabel>
</DxChartCrosshairVerticalLine>
</DxChartCrosshair>
</DxChart>