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

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章