WPF+DevExpress,ChartControl的X轴显示毫秒
背景:在WPF程序中使用DevExpress v24.1的ChartControl控件
需求:x轴要显示到毫秒
方案:
1、xaml布局文件上:
<dxc:ChartControl x:Name="_chart" HorizontalAlignment="Stretch" Margin="2" VerticalAlignment="Stretch">
<dxc:ChartControl.Diagram>
<dxc:XYDiagram2D EnableAxisXNavigation="True" EnableAxisYNavigation="True">
<dxc:XYDiagram2D.NavigationOptions>
<dxc:NavigationOptions UseKeyboard="True" UseMouse="True" UseScrollBars="True" UseTouchDevice="True"/>
</dxc:XYDiagram2D.NavigationOptions>
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D>
<!-- 设置刻度单位为毫秒 -->
<dxc:AxisX2D.TimeSpanScaleOptions>
<dxc:ManualTimeSpanScaleOptions MeasureUnit="Millisecond" GridAlignment="Millisecond" GridSpacing="1" />
</dxc:AxisX2D.TimeSpanScaleOptions>
</dxc:AxisX2D>
</dxc:XYDiagram2D.AxisX>
<dxc:XYDiagram2D.Series>
<dxc:LineSeries2D DisplayName="ch"
DataSource="{Binding DataPoints}"
ArgumentScaleType="DateTime"
ArgumentDataMember="Time"
ValueDataMember="Value"
LabelsVisibility="True"
CrosshairLabelPattern="{}{A:MMMM}: {V:f2}°C"
MarkerSize="14"
MarkerVisible="True">
<dxc:LineSeries2D.MarkerModel>
<dxc:RingMarker2DModel/>
</dxc:LineSeries2D.MarkerModel>
<dxc:LineSeries2D.Label>
<dxc:SeriesLabel TextPattern="{}{V:f1}"
dxc:MarkerSeries2D.Angle="90"
ConnectorVisible="False"/>
</dxc:LineSeries2D.Label>
</dxc:LineSeries2D>
</dxc:XYDiagram2D.Series>
</dxc:XYDiagram2D>
</dxc:ChartControl.Diagram>
<dxc:ChartControl.Legend>
<dxc:Legend MarkerMode="CheckBoxAndMarker"
HorizontalPosition="Left" Orientation="Horizontal" VerticalPosition="TopOutside"
CacheMode="BitmapCache" />
</dxc:ChartControl.Legend>
</dxc:ChartControl>
2、后台绑定数据点
LineSeries2D line = item as LineSeries2D;
line?.AddPoint(timeSpan, yVal);

浙公网安备 33010602011771号