後臺給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;

 

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