如何创建一个带孔的椭圆(路径......):
任务是创建三态指示器的可视化。通过将控件向左或向右旋转几度,可以看到不同的状态。
答案 0 :(得分:3)
=>
<Path Stroke="Red" StrokeThickness="20">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="80,0">
<ArcSegment x:Name="ArcSeg1" Size="100,100" RotationAngle="0" IsLargeArc="True"
SweepDirection="Clockwise" Point="20,0" >
</ArcSegment>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
这里有一些相关的属性,要理解它背后的数学 http://www.charlespetzold.com/blog/2008/01/Mathematics-of-ArcSegment.html 但基本上你给出了两个椭圆的交集坐标:
StartPoint和Point表示相交点,而Size是整个椭圆的大小。其余的是非常自我解释的。 如果你想旋转它,最简单和最好的方法是使用RotateTransform。
答案 1 :(得分:0)
将“洞”打成整圆的白色三角形有帮助吗?这可以与“指针”(线)一起围绕圆心旋转。
答案 2 :(得分:0)
您可以将CombinedGeometry与GeometryCombineMode="Exclude"
documentation有一个很好的例子。