- 概要
从事金融行业开发 ,会接触些图表控件,这里我分享一下自己基于DevExpress.Charts.v16.2开发的股票分时走势图的经验。
附上源码:点击跳转
如果需要讨论,Q群:580749909
- 截图
- 思路
<dxc:ChartControl CrosshairEnabled="True" DataSource="{Binding ChartCollection}"> <dxc:XYDiagram2D> <!-- 设置X轴的内容 --> <dxc:XYDiagram2D.AxisX> <dxc:AxisX2D GridLinesVisible="True" TickmarksMinorVisible="True"> <dxc:AxisX2D.Label> <dxc:AxisLabel ElementTemplate="{StaticResource XAxisTemplate}" /> </dxc:AxisX2D.Label> <dxc:AxisX2D.WholeRange> <!-- 这里的范围表示,X轴的最大值和最小值。 因为股票的开盘时间是固定的9:30-15:00所以这里可以写死。 --> <dxc:Range MaxValue="40" MinValue="0" SideMarginsValue="0" /> </dxc:AxisX2D.WholeRange> <dxc:AxisX2D.NumericScaleOptions> <dxc:ContinuousNumericScaleOptions AutoGrid="False" GridOffset="0" GridSpacing="10" /> </dxc:AxisX2D.NumericScaleOptions> </dxc:AxisX2D> </dxc:XYDiagram2D.AxisX> <!-- 设置图中的内容 --> <dxc:XYDiagram2D.Series> <!-- 在图里添加一条线,反之这里也能添加其它的例如:条形图、河流图、蜡烛图、点等。设置Line的样式也是在这里Line拥有自己的控件模板开发者可以随意更改。 --> <dxc:LineSeries2D ArgumentDataMember="Date" Brush="#F96E48" ValueDataMember="Price"> <dxc:LineSeries2D.LineStyle> <!--设置Line的粗细--> <dxc:LineStyle Thickness="1" /> </dxc:LineSeries2D.LineStyle> <dxc:LineSeries2D.CrosshairLabelTemplate> <!-- 设置鼠标悬浮在图上的内容(模板),之前我写的一篇文章也是专门讲的这里应用 --> <DataTemplate> <Grid UseLayoutRounding="True"> <Grid.ColumnDefinitions> <ColumnDefinition Width="70" /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition /> </Grid.RowDefinitions> <TextBlock Grid.Column="0" HorizontalAlignment="Left" Text="股票价格" /> <TextBlock Grid.Row="0" Grid.Column="1" Margin="3,2,3,2" VerticalAlignment="Center" FontWeight="Bold" Text="{Binding SeriesPoint.Tag.Price}" TextAlignment="Right" /> </Grid> </DataTemplate> </dxc:LineSeries2D.CrosshairLabelTemplate> </dxc:LineSeries2D> </dxc:XYDiagram2D.Series> </dxc:XYDiagram2D> </dxc:ChartControl>