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