如何减少一半的WPF?

时间:2011-01-24 20:55:39

标签: wpf user-controls wpf-controls

我在这里创作了戒指或捐赠:

How to create a circle with a hole in a circle in WPF?

我现在想只有一半的需要(使用圆圈而不是路径,因为我需要轻松调整大小),如何在XAML中进行,如果可能的话,以编程方式进行。

1 个答案:

答案 0 :(得分:3)

这是使用路径,但也许你会发现它很有用:

<Path HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="Fill" Height="231" Width="434">
        <Path.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FFFF2F00" Offset="0"/>
                <GradientStop Color="#FF63B224" Offset="1"/>
            </LinearGradientBrush>
        </Path.Fill>
<Path.Data>
    <PathGeometry>
        <PathGeometry.Figures>
            <PathFigure StartPoint="0,200">
                <PathFigure.Segments>
                    <LineSegment Point="0,200" />
                    <ArcSegment Size="150,150"
                                SweepDirection="Clockwise"
                                Point="400,200" />
                    <LineSegment Point="390,200" />
                    <ArcSegment Size="140,140"
                                SweepDirection="CounterClockwise"
                                Point="10,200" />
                </PathFigure.Segments>
            </PathFigure>
        </PathGeometry.Figures>
    </PathGeometry>
</Path.Data>

还有务实的方式查看此The Mathematics of ArcSegment