做流程图或者控件编辑等项目的时候可能会碰到一个需求,我有个控件是用来表示背景图中的某一块的内容,但控件直接放上去又显得很突兀,很土,这时候可以引一条标示线出来指明。这就是我写标示线控件的由来。
先上demo效果图,比较粗糙,后期个人自己改进,源码在文章末尾
实现思路:
线身是一个PolyLine控件,点集合绑定后台的依赖属性;一开始默认有三个拖拽点Thumb(看下面的线),主要用于改变线的形状,绿色的圆点主要用于定位标示;
实现方式:
点集合的绑定方式有两种,一是后台直接定义一个点集合依赖对象,二是麻烦点用三个点在前台用多绑定绑到线上,demo两种方式都实现了,具体代码自己去看。
拖拽点添加也有两种,一种是前面写好,后台改,另一种是全部放到后台操作,主要是要把拖拽点的坐标跟线的三个点坐标绑定起来跟随移动,从而实现改变线的形状。
大概就这些了,具体的看代码吧。
demo里有两种实现方式,一种用户控件一种自定义控件
大神路过别喷,源码收5个分,起码我是自己写的,网上也没找到。