我想在WP7上创建一个圆圈。我尝试用椭圆类来做这个,我发现了很多解决方案,它可以制作量表或饼图或其他东西,但我只需要精华。 有人可以帮忙吗?
目的是仅显示圆(或椭圆)的一部分。就像图片中的黄色区域一样:
谢谢, LACI
答案 0 :(得分:38)
这是一个相当简单的问题解决方案,虽然它不使用Ellipse
而且需要一点三角函数:
<Path Fill="Black"
Data="M0,0 L0,-100 A100,100 0 0 1 70.7,-70.7 z" />
Data
属性使用Path Markup Syntax。
RotationAngle
,IsLargeArc
和SweepDirection
(顺时针为1,逆时针为0)。 70.7来自哪里?好吧,这个特殊的弧扫描出一个半径为100的圆的45度角,所以坐标70.7,-70.7由100 * sin(45)
和100 * cos(45)
确定。
答案 1 :(得分:1)
你需要做这样的事情:
定义画布(剪辑)的可见部分。对于此部分,您需要使用PathGeometry作为剪辑来定义要显示的圆的切片。 (见链接)
<Canvas>
<Canvas.Clip>
<PathGeometry>
// define your path here (see link above)
</PathGeometry>
<Ellipse Background="Yellow" Width="200" Height="200" />
</Canvas.Clip>
</Canvas>
或者,您可以使用CombinedGeometry组合PathGeometry和EllipseGeometry来形成切片。 (该链接提供了CombinedGeometry的一个很好的例子)