WPF 曲线图表控件(自制)(一)
由于公司需要所以自写了一个简单的曲线图表控件,在此分享。
先上一张效果图
1.界面xaml
X轴和Y轴用 2个line对象写死在xaml上
外部用一个Grid包裹起来,然后X轴的宽度,和Y轴的高度就是绑定下来就好。为了方便起见我的X轴和Y轴又分别用Canvas进行包装,然后分别在对应包装的Canvas里面就可以添加刻度的Textblock
<Canvas Name="X_Axis" Height="40" Margin="0,0,0,0" VerticalAlignment="Bottom" Width="{Binding ElementName=PicAre,Path=ActualWidth}">
<Line Stroke="Black" StrokeThickness="3" StrokeStartLineCap="Round" X1="0" Y1="5" X2="{Binding ElementName=X_Axis,Path=Width}" Y2="5" Width="{Binding ElementName=PicAre,Path=ActualWidth}" Height="10" ></Line>
</Canvas>
<Canvas Width="40" Name="Y_Axis" Height="{Binding ElementName=PicAre,Path=ActualHeight}" Margin="0,0,0,0" HorizontalAlignment="Left">
<Line Canvas.Left="30" Stroke="Black" StrokeThickness="3" StrokeStartLineCap="Round" X1="5" Y1="{Binding ElementName=Y_Axis,Path=Height}" X2="5" Y2="0" Height="{Binding ElementName=PicAre,Path=ActualHeight}" Width="10" Fill="Black">
</Line>
</Canvas>
画线区就由3个Canvas 组成,第一个是最外围。
然后是里面添加2个Canvas 大小和外框一样大。一个用于添加背景中的网格线,另一个用于添加线和点。用于添加线和点的Canvas Size可以改变毕竟可以缩放和拖动的,但是背景网格线的就可以直接绑定外框。然后就是在右上角的地方在Grid层添加一个stackpanel 用于放标签。左上角的黄色按钮用于还原缩放和拖动。
界面的大致布局就这样,下一章将代码部分。
WPF 曲线图表控件(自制)(一)的更多相关文章
- WPF 曲线图表控件(自制)(二)
原文:WPF 曲线图表控件(自制)(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/koloumi/article/details/775218 ...
- WPF Visifire 图表控件
Visifire WPF 图表控件 破解 可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了, 尤其是在开发时间比较紧的情况下.这 ...
- C# WPF DevExpress 图表控件之柱状图
说明:DevExpress版本是17.1.VS是2015. XAML: <!--#region 图表控件--> <dxc:ChartControl x:Name="char ...
- 【WPF】 OxyPlot图表控件学习
最近在学习OxyPlot图表控件,一些基本的学习心得,在这里记录一下,方便以后进行查找. 一.引用 OxyPlot控件可以直接在VS的 " Nuget " 里面下载 选择: ...
- Visifire For WPF 图表控件 如何免费
可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了, 尤其是在开发时间比较紧的情况下.这时候有必要借助一种专业的图表工具. Vis ...
- 比achartengine更加强大的Android图表控件。
比achartengine更加强大的图表控件MPAndroidChart. 详细使用及demo:http://www.see-source.com/androidwidget/detail.html? ...
- 图表控件FlowChart.NET详细介绍及免费下载地址
FlowChart.NET是一款专业的.NET平台下的流程图及图表控件,它可以运行在任何C#, VB.NET或Delphi.NET语言编写的软件中.能够帮助你创建工作流程图.对象层次和关系图.网络拓扑 ...
- [深入浅出Windows 10]QuickCharts图表控件库解析
13.4 QuickCharts图表控件库解析 QuickCharts图表控件是Amcharts公司提供的一个开源的图表控件库,这个控件库支持WPF.Silverlight.和Windows等 ...
- 图表控件的学习===》hightChart 和 Chartjs的使用
hightChart : 比较旧的图表控件 商业需要授权 Chartjs 免费开源 刚开始使用了下 hightchart 然后参考示例 建了对应的参数配置的类, 也顺利的集合到后台动态传输. 后 ...
随机推荐
- iOS:实现图片的无限轮播---之使用第三方库SDCycleScrollView
SDCycleScrollView API // // SDCycleScrollView.h // SDCycleScrollView #import <UIKit/UIKit.h> ...
- ios 不支持屏幕旋转
- (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; }
- Oracle内存管理(之四)
[深入解析--eygle]学习笔记 1.3 SGA管理 SGA指系统全局区(System Global Area),是一块用于载入数据.对象并保存执行状态和数据库控制信息的一块内存区域,在数据库实例启 ...
- 25、写一个USB摄像头驱动程序(有ioctrl分析)
videobuf2-core.h中的vb2_buffer,记录了v4l2_buffer ,驱动可以对vb2_buffer的v4l2_buffer进行操控, vb2_buffer是v4l2框架层的代码, ...
- Eclipse 使用技巧之 ---- 查看本类调用和被调用列表
当工程复杂的情况下,用眼睛去人工查看调用情况是很费力也没必要的.我们需要用 Eclipse 来做这点. (1) 我们查看本类调用他类情况可以直接看 import . (2) 如果要查看本类 ...
- andorid 自己定义SwitchButton
因项目缘故需又一次定制SwitchButton,效果例如以下: 步骤例如以下: 1.圆角矩形的绘制 2.字体绘制 3.小圆绘制 4.左右滑动动画效果绘制 代码例如以下: package com.s ...
- iOS开发之Quartz2D 五:UIKIT 绘图演练,画文字,画图片
#import "DrawView.h" @implementation DrawView -(void)awakeFromNib { // //画图片 // UIImage *i ...
- 【源代码】Timer和TimerTask源代码剖析
Timer是java.util包中的一个工具类,提供了定时器的功能. 我们能够构造一个Timer对象,然后调用其schedule方法在某个特定的时间或者若干延时之后去运行一个特定的任务.甚至你能够让其 ...
- [转载]Ocelot简易教程(三)之主要特性及路由详解
上篇<Ocelot简易教程(二)之快速开始2>教大家如何快速跑起来一个ocelot实例项目,也只是简单的对Ocelot进行了配置,这篇文章会给大家详细的介绍一下Ocelot的配置信息.希望 ...
- Effective Java读书笔记——第三章 对于全部对象都通用的方法
第8条:覆盖equals时请遵守通用的约定 设计Object类的目的就是用来覆盖的,它全部的非final方法都是用来被覆盖的(equals.hashcode.clone.finalize)都有通用约定 ...