У меня есть следующие данные пути, которые находятся в xaml. Я хочу определить те же данные пути из кода позади.
<Path Data="M 250,40 L200,20 L200,60 Z" />
From Codebehind:
Path orangePath = new Path();
PathFigure pathFigure = new PathFigure();
pathFigure.StartPoint = new Point(250, 40);
LineSegment lineSegment1 = new LineSegment();
lineSegment1.Point = new Point(200, 20);
pathFigure.Segments.Add(lineSegment1);
LineSegment lineSegment2 = new LineSegment();
lineSegment2.Point = new Point(200, 60);
pathFigure.Segments.Add(lineSegment2);
PathGeometry pathGeometry = new PathGeometry();
pathGeometry.Figures = new PathFigureCollection();
pathGeometry.Figures.Add(pathFigure);
orangePath.Data = pathGeometry;
Edit:
// мы должны установить это значение true, чтобы нарисовать линию от lineSegment2 до начальной точки
pathFigure.IsClosed = true;
Вам необходимо использовать TypeConverter
:
Path path = new Path();
string sData = "M 250,40 L200,20 L200,60 Z";
var converter = TypeDescriptor.GetConverter(typeof(Geometry));
path.Data = (Geometry)converter.ConvertFrom(sData);