我正在开发自己的图形绘制应用程序。我有图表和更新机制工作就像我想要的那样。现在我想绘制一个网格,所以我需要在我的图形轴上有一些线,所以我想出了这个小循环:
Gridx = new Line();
while (x <= _XAxisSize)
{
gridx.X1 = x;
gridx.X2 = x;
gridx.Y1 = _YAxisSize - 20;
gridx.Y2 = _YAxisSize + 20;
x = x + XgridSize;
gridx.UpdateLayout();
}
这不起作用,因为它只绘制一条线(循环的最后一点)。所以我需要在那个轴上绘制多条线。如何使用system.Windows.Shapes库中的line()或该库中的任何其他形状来完成类似的操作
由于
答案 0 :(得分:1)
如果您想要多行,则需要创建多行:
while (x <= _XAxisSize)
{
var gridx = new Line();
gridx.X1 = x;
gridx.X2 = x;
gridx.Y1 = _YAxisSize - 20;
gridx.Y2 = _YAxisSize + 20;
//need to add gridx to your view here
x = x + XgridSize;
}
但是,对于这样的静态线,您最好不要使用GeometryDrawing
,其开销要比Line
形状小得多。有关差异的详细信息,请参阅here。