繁体   English   中英

在Windows Phone 7中画线?

[英]Drawing lines in windows phone 7?

我想使用路径画一些线。 它总是显示我在运行程序时的错误。 错误发生在以下句子:“ myPathSegmentCollection.Add(myLineSegment [i]);” 可以构建解决方案。 调试时,它显示“元素已经是另一个元素的子元素”

以下是我的功能:

public void drawline(Point endP)
{
    PathFigenter code hereure myPathFigure = new PathFigure();
    myPathFigure.StartPoint = endP;

    LineSegment [] myLineSegment = new LineSegment[5];
    Point myPoint = new Point();
    LineSegment line = new LineSegment();
    PathSegmentCollection myPathSegmentCollection = new PathSegmentCollection();
    for (int i = 0; i < 5; i++)
    {
        myPoint.X = i + 10.0;
        myPoint.Y = i+1.0;
        line.Point = myPoint;
        myLineSegment[i] = line;
        myPathSegmentCollection.Add(myLineSegment[i]);
    } 

    myPathFigure.Segments = myPathSegmentCollection;

    PathFigureCollection myPathFigureCollection = new PathFigureCollection();
    myPathFigureCollection.Add(myPathFigure);

    PathGeometry myPathGeometry = new PathGeometry();
    myPathGeometry.Figures = myPathFigureCollection;

    myPath.StrokeThickness = 1;
    myPath.Data = myPathGeometry;
}

有没有人可以帮忙? 谢谢!

问题是您在循环中重新使用LineSegment 这些只能作为单个控件的父项,因此尝试多次添加同一项会引发异常。

要修复它,请在循环中创建一个新的LineSegment

for (int i = 0; i < 5; i++)
{
    myLineSegment[i] = new LineSegment() {
       Point = new Point(i + 10.0, i + 1.0);
    };
    myPathSegmentCollection.Add(myLineSegment[i]);
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM