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}&#176;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);
posted @ 2025-03-10 16:13  青云Zeo  阅读(93)  评论(0)    收藏  举报