后台给WPF的Path.Data赋值方法

20 篇文章 0 订阅

后台给WPF的Path.Data赋值方法:

第一种,直接转换类型

            var converter = TypeDescriptor.GetConverter(typeof(Geometry));

            path.Data = (Geometry)(converter.ConvertFrom("M 0,25 C 25,-30 30,80 60,25"));

 

第二种,Path.Data其实就是Geometry类,里面包含着Segment类

 

所以可以直接新建Segment

例如

贝塞尔曲线 BezierSegment

弧线 ArcSegment

此处以圆弧为例:

可参照我画圆弧的博客 https://blog.csdn.net/shaynerain/article/details/105105253

 

ArcSegment arcSegment = new ArcSegment(new Point(width / 2d + (width / 2d - 5) * Math.Sin(0.001),

                height / 2d + (height / 2d - 5) * Math.Cos(0.001)),

                new Size(width / 2 - 5, height / 2 - 5), 0,

                true, SweepDirection.Clockwise, true);

            PathSegmentCollection pathSegments = new PathSegmentCollection();

            pathSegments.Add(arcSegment);



            PathFigure pathFigure = new PathFigure(new Point(width / 2, height - 5), pathSegments, false);



            PathFigureCollection pathFigures = new PathFigureCollection();

            pathFigures.Add(pathFigure);



            PathGeometry pathGeometry = new PathGeometry();

            pathGeometry.Figures = pathFigures;



            cycleProcessBackgound.Data = pathGeometry;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值