Silverlight-如何用圆弧画线?

Silverlight-如何用圆弧画线?,silverlight,geometry,lines,Silverlight,Geometry,Lines,我正在开发一个小型silverlight应用程序(使用siverlight 4和c#)。在我的应用程序中,我需要根据它们的X,Y绘制坐标。然后,我需要根据它们之间的连接在一些点之间绘制线。因为可以有几条线,我不能让它们都互相交叉(因为这会把事情弄得一团糟),所以我需要用一个拱门画一些线 那么,解决这个问题的最佳方式是什么 创建我自己的x,y系统-在点中定位元素并绘制线-如果是这样,如何使用拱门绘制线 是否使用提供类似功能的就绪控件?如果是,控制措施是什么 谢谢大家! 附件是一个小图片,以说明

我正在开发一个小型silverlight应用程序(使用siverlight 4和c#)。在我的应用程序中,我需要根据它们的X,Y绘制坐标。然后,我需要根据它们之间的连接在一些点之间绘制线。因为可以有几条线,我不能让它们都互相交叉(因为这会把事情弄得一团糟),所以我需要用一个拱门画一些线

那么,解决这个问题的最佳方式是什么

  • 创建我自己的x,y系统-在点中定位元素并绘制线-如果是这样,如何使用拱门绘制线
  • 是否使用提供类似功能的就绪控件?如果是,控制措施是什么
谢谢大家!

附件是一个小图片,以说明我的需要(我不是大画家,对不起)


看看绘制贝塞尔曲线()并了解不同的几何体类型()

下面是一个代码示例,它将帮助您开始生成以下图像:



使用简单的“Line”类有什么方法可以做到这一点吗?直线只能是一条直线。你没有很多选择。贝塞尔曲线绝对是你最好的,而且很可能是唯一的选择。我明白了,你知道有哪种开源框架可以轻松地支持定位点和在点之间绘制点吗?我不知道,但你不应该对学习贝塞尔曲线感到气馁。如果您花一点时间阅读MSDN,然后研究我的答案,您将能够自己处理它。太好了,谢谢。贝塞尔曲线支持动画吗?我可以为线条的绘制设置动画吗?
<Canvas x:Name="LayoutRoot" Background="White">
        <Path Stroke="Blue" StrokeThickness="2" >
            <Path.Data>
                <PathGeometry>
                    <PathGeometry.Figures>
                        <PathFigureCollection>
                            <PathFigure StartPoint="50,50">
                                <PathFigure.Segments>
                                    <PathSegmentCollection>
                                       <BezierSegment 
                                           Point1="50,20"
                                           Point2="120,170"
                                           Point3="350,150"
                                       /> 
                                    </PathSegmentCollection>
                                </PathFigure.Segments>
                            </PathFigure>
                        </PathFigureCollection>
                    </PathGeometry.Figures>
                </PathGeometry>
            </Path.Data>
        </Path>
        <Path Fill="Gold" Stroke="Black" StrokeThickness="1">
            <Path.Data>
                <EllipseGeometry Center="50,50" RadiusX="20" RadiusY="20" />
            </Path.Data>
        </Path>
        <Path Fill="Gold" Stroke="Black" StrokeThickness="1">
            <Path.Data>
                <EllipseGeometry Center="350,150" RadiusX="20" RadiusY="20" />
            </Path.Data>
        </Path>
    </Canvas>