WPF繪製一條不連續的線
阿新 • • 發佈:2018-11-14
WPF繪製一條不連續的線
繪製線應配合使用LineGeometry
、GeometryGroup
、System.Windows.Shapes.Path
。核心流程是將各個LineGeometry新增到GeometryGroup中,然後通過Path.Data=group
將之合併到一個Path中,最後將Path
新增到UI上。
繪製不連續的線也是如此做法。
需注意的是可用double.NaN
來表示空值。然後通過迴圈繪出各個LineGeometry
。大概這樣寫
GeometryGroup group = new GeometryGroup();
for (int i = 0; i < pc.Count-1; i++)
{
Point p0 = pc[i];//起點
Point p1 = pc[i + 1];//終點
if (!double.IsNaN(p0.Y) && !double.IsNaN(p1.Y))
{
LineGeometry line = new LineGeometry();
line.StartPoint = p0;
line.EndPoint = p1;
group.Children.Add(line);
}
}
Path path = new Path();
path.Stroke=xxx;
path.StrokeThickness = 2;
path.Data = group;
xxx.Children.Add(path);