CSharp - 在 C# WPF中,绘制多点直线

  显示原文与译文双语对照的内容

我在 C# WPF中。 我想在 C# 中创建一个带有点 array的行。

就像:


Point[] points = 


{


 new Point(3, 5), 


 new Point(1, 40),


 new Point(12, 30),


 new Point(20, 2 )


};



Line myLine = new Line( points );



我该怎么做?

时间: 原作者:

如果要用 Line 绘制,可以编写方法,也可以使用 Polyline


 public MainWindow()


 {


 InitializeComponent();


 canvas.Children.Clear();


 Point[] points = new Point[4]


 {


 new Point(0, 0),


 new Point(300, 300),


 new Point(400, 500),


 new Point(700, 100 )


 };


 DrawLine(points);


//DrawLine2(points);


 }



 private void DrawLine(Point[] points)


 {


 int i;


 int count = points.Length;


 for (i = 0; i <count - 1; i++)


 {


 Line myline = new Line();


 myline.Stroke = Brushes.Red;


 myline.X1 = points[i].X;


 myline.Y1 = points[i].Y;


 myline.X2 = points[i + 1].X;


 myline.Y2 = points[i + 1].Y;


 canvas.Children.Add(myline);


 }


 }



 private void DrawLine2(Point[] points)


 {


 Polyline line = new Polyline();


 PointCollection collection = new PointCollection();


 foreach(Point p in points)


 {


 collection.Add(p);


 }


 line.Points = collection;


 line.Stroke = new SolidColorBrush(Colors.Black);


 line.StrokeThickness = 1;


 canvas.Children.Add(line);


 }



...