1

我正在开发自己的图形绘制应用程序。我已经得到了图表和更新机制,就像我想要的那样工作。现在我正在尝试绘制一个网格,所以我需要在图表的轴上添加一些线,所以我想出了这个小循环:

        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() 或该库中的任何其他形状来完成类似的事情

谢谢

4

1 回答 1

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;
}

但是,对于这样的静态线条,您最好使用 a GeometryDrawing,它的开销比Line形状要少得多。有关差异的详细信息,请参见此处

于 2012-04-18T08:48:06.537 回答