多个行,单循环(System.Windows.Shapes)C#

时间:2012-04-18 08:37:54

标签: c# windows-phone-7 line

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

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

由于

1 个答案:

答案 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