由于项目中经常用到Series Chart,而目前市面又实在找不到既支持MVVM,又轻量级的开源Chart控件,于是干脆就花了两周时间随手写了一个。昨天感觉还比较满意,就发布到了Github上:https://github.com/zenjia/MvvmChart
Line Series,无Item Point:(从上自下依次为PolylineSeries、StepLineSeries、SplineSeries)
Line Series,带Item Point:
Area Series,不带Item Point:
Area Series,带Item Point:
首先定义数据点:
public class SomePoint { public double t { get; } public double Y { get; } } public class DemoDataViewModel { public List<List<SomePoint>> ItemsSourceList { get; } }
然后创建DataTemplate:
<DataTemplate x:Key="SeriesTemplate1"> <mvvmCharting:PolyLineSeries IndependentValueProperty="t" DependentValueProperty="Y" Stroke="Red" StrokeThickness="1.5" ItemsSource="{Binding}"> </mvvmCharting:PolyLineSeries> </DataTemplate>
最后,创建一个SeriesChart,并引用上面的DateTemplate:
<mvvmCharting:SeriesChart Background="Bisque" SeriesDataTemplate="{StaticResource SeriesTemplate1}" SeriesItemsSource="{Binding ItemsSourceList, Source={StaticResource GlobalDemoDataViewModel}}"> <mvvmCharting:SeriesChart.XAxis> <axis:XAxis /> </mvvmCharting:SeriesChart.XAxis> <mvvmCharting:SeriesChart.YAxis> <axis:YAxis /> </mvvmCharting:SeriesChart.YAxis> </mvvmCharting:SeriesChart>
(更多使用Sample见项目里的Demo工程)
(对UWP的支持将很快加入)
(欢迎批评指正,欢迎提交bug)
这可能是目前最轻量级、最支持MVVM、可定制性最好的开源WPF Chart控件!
原文:https://www.cnblogs.com/zencoder/p/14172276.html