后台给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;