WPFCanvasChart-master

所属分类:单片机开发
开发工具:C#
文件大小:71KB
下载次数:58
上传日期:2014-02-25 14:45:43
上 传 者lyh_007045
说明:  Canvas画图,可以实现柱图、折线图、饼图等等
(Canvas source code)

文件列表:
LICENSE (1071, 2013-09-18)
WPFCanvasChartSolution (0, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart (0, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\IWPFCanvasChartComponent.cs (782, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\IWPFCanvasChartDrawer.cs (385, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\Internals (0, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\Internals\WPFCanvasChartVisualHost.cs (1011, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\Interpolators (0, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\Interpolators\IWPFCanvasChartInterpolator.cs (758, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\Interpolators\WPFCanvasChartBasicInterpolators.cs (2012, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\Properties (0, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\Properties\AssemblyInfo.cs (1404, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\WPFCanvasChart.csproj (2850, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\WPFCanvasChartComponent.cs (19839, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChart\WPFCanvasChartSettings.cs (3101, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartSolution.sln (4553, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartSolution.suo (188928, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest (0, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\App.xaml (318, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\App.xaml.cs (301, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\MainWindow.xaml (3443, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\MainWindow.xaml.cs (6801, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\Properties (0, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\Properties\AssemblyInfo.cs (2239, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\Properties\Resources.Designer.cs (2795, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\Properties\Resources.resx (5496, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\Properties\Settings.Designer.cs (1072, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\Properties\Settings.settings (195, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\WPFCanvasChartTest.csproj (4432, 2013-09-18)
WPFCanvasChartSolution\WPFCanvasChartTest\WPFCanvasChartTest.csproj.user (141, 2013-09-18)
WPFCanvasChartSolution\WPFChartControl (0, 2013-09-18)
WPFCanvasChartSolution\WPFChartControl\ChartControl.xaml (3236, 2013-09-18)
WPFCanvasChartSolution\WPFChartControl\ChartControl.xaml.cs (3013, 2013-09-18)
WPFCanvasChartSolution\WPFChartControl\Drawer (0, 2013-09-18)
WPFCanvasChartSolution\WPFChartControl\Drawer\AbstractChartDrawer.cs (4281, 2013-09-18)
WPFCanvasChartSolution\WPFChartControl\Drawer\BarChartDrawer.cs (2665, 2013-09-18)
WPFCanvasChartSolution\WPFChartControl\Drawer\LineSeriesChartDrawer.cs (3601, 2013-09-18)
... ...

# WPFCanvasChart ### Customizable WPF charting for large number of elements There are controls for: Line series charts, Bar charts, Stacked bar charts, etc. You can also use WPFCanvasChartComponent class directly(look at WPFCanvasChartTest example). The class will do for you things like axis drawing, point translation, zooming, scrolling, etc... Actual chart content is drawn by user. Both WPFCanvasChartComponent and WPFChartControl are fast and customizable. ### How to use? Its easy! Just look at WPFChartControlExample or WPFCanvasChartTest example projects in solution. Using chart control is easy. In XAML: ``` xml ... xmlns:chart="clr-namespace:IgorCrevar.WPFChartControl;assembly=WPFChartControl" ... ``` In ViewModel you can do something like: ``` c# YourCustomDrawer = new LineSeriesChartDrawer(new List { new Point(10, 20), new Point(20, 40) }); ``` or ``` c# YourCustomDrawer = new StackedBarChartDrawer(new List { new StackedBarItem(0, new double[] { 50, 30, 20 }), new StackedBarItem(1, new double[] { 100, 0, 100 }), }) { Legend = new LegendItem[] { new LegendItem(Colors.Blue, "One"), new LegendItem(Colors.Red, "Two"), new LegendItem(Colors.Yellow, "Total"), }, LegendWidth = 120.0d, }; ``` or ``` c# BarChartDrawer = new BarChartDrawer(new Point[]{ new Point(1.0d, rnd.Next(100)), new Point(2.0d, rnd.Next(100)), new Point(3.0d, rnd.Next(100)), new Point(4.0d, rnd.Next(100)), }); ``` etc Check example for more options for every drawer... Also you can use WPFCanvasChartComponent directly (from WPFCanvasChart project) - Before using, instance of WPFCanvasChart must be created - after that, you must set min/max x/y of your chart values using WPFCanvasChart instance SetMinMax method - you must implement IWPFCanvasChartDrawer interface - draw call on WPFCanvasChart instance will draw chart(step above must be executed before drawing!) - IWPFCanvasChartDrawer method public void Draw(DrawingContext ctx) is used to draw actual graph - Inside public void Draw(DrawingContext ctx) use Point2ChartPoint to convert your actual value to chart point #### Note: Chart is fast if canvas used for charting is inside Viewbox(like in code snippet bellow). If canvas is inside some other container(for example grid like in second code snippet bellow. This is how chart is created inside chart control), than performances dramatically decrease. Why? I do not know yet. ``` xml ```

近期下载者

相关文件


收藏者