如何使用xaml在C#wpf中绘制弹簧

如何使用xaml在C#wpf中绘制弹簧,c#,wpf,xaml,C#,Wpf,Xaml,如何从xaml代码生成spring..我正在考虑使用bezier段…但我不知道如何 ` <Path Stroke="Black" StrokeThickness="1" Canvas.Left="244.77" Canvas.Top="45.655" RenderTransformOrigin="0.5,0.5" Height="31.6" Stretch="Fill" Width="25.658"> <Path.RenderTrans

如何从xaml代码生成spring..我正在考虑使用bezier段…但我不知道如何

         ` <Path Stroke="Black" StrokeThickness="1" Canvas.Left="244.77" Canvas.Top="45.655" RenderTransformOrigin="0.5,0.5" Height="31.6" Stretch="Fill" Width="25.658">
            <Path.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform Angle="-89.333"/>
                    <TranslateTransform/>
                </TransformGroup>
            </Path.RenderTransform>
            <Path.Data>
                <PathGeometry>
                    <PathGeometry.Figures>
                        <PathFigureCollection>
                            <PathFigure StartPoint="10,100">
                                <PathFigure.Segments>
                                    <PathSegmentCollection>
                                        <BezierSegment Point1="100,0" Point2="200,200" Point3="300,100" />
                                    </PathSegmentCollection>
                                </PathFigure.Segments>
                            </PathFigure>
                        </PathFigureCollection>
                    </PathGeometry.Figures>
                </PathGeometry>
            </Path.Data>
        </Path>
        <Path Stroke="Black" StrokeThickness="1" Canvas.Left="244.77" Canvas.Top="45.655" RenderTransformOrigin="0.5,0.5" Height="31.6" Stretch="Fill" Width="25.658">
            <Path.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform Angle="-89.333"/>
                    <TranslateTransform/>
                </TransformGroup>
            </Path.RenderTransform>
            <Path.Data>
                <PathGeometry>
                    <PathGeometry.Figures>
                        <PathFigureCollection>
                            <PathFigure StartPoint="10,100">
                                <PathFigure.Segments>
                                    <PathSegmentCollection>
                                        <BezierSegment Point1="100,0" Point2="200,200" Point3="300,100" />
                                    </PathSegmentCollection>
                                </PathFigure.Segments>
                            </PathFigure>
                        </PathFigureCollection>
                    </PathGeometry.Figures>
                </PathGeometry>
            </Path.Data>
        </Path>`
`
`

这是两张,但我想要一张包含五张这样的小照片。也许看起来更自然…

我建议你找一张平铺效果好的照片。然后,您可以画一条线,并使用可视笔刷将图像作为ImageSource。这应该很有效:

添加了一个示例:

<Grid>
    <Rectangle HorizontalAlignment="Left" Height="272" Margin="70,54,0,0" StrokeThickness="1" VerticalAlignment="Top" Width="12.166">
        <Rectangle.Fill>
            <ImageBrush
                Viewport="0,0,1,0.1"
                TileMode="FlipY"
                AlignmentX="Left"
                AlignmentY="Top"
                ImageSource="helix.png" Stretch="Uniform" />
        </Rectangle.Fill>
    </Rectangle>            
</Grid>

看起来像这样:

使用此png时:


我相信你会找到更好的平铺图像…;)

如果你从远处看你的xaml,它看起来像一个弹簧=D严肃地说,你试过先搜索吗。。。我看到了…但问题是我不想要一个c编码的弹簧…我想要它在xaml中…我知道它看起来像弹簧,但那里有2个贝塞尔段,我只想要一个带5个小贝塞尔段的贝塞尔段尝试在混合中绘制它,也许有一些工具可以优化它?