Wpf椭圆切断顶部和底部

时间:2012-11-27 12:52:20

标签: wpf xaml ellipse

我需要绘制一个看起来像我的例子的椭圆(或其他任何东西?)(大致用油漆画出我的意思)

Ellipse

任何建议如何发展这个?

我试过Clip,但我只能切断顶部或底部(或者我做错了吗?)

<Canvas Width="16" Height="16">
    <Ellipse Fill="Red" MinHeight="16"  Name="ellipse1" Stroke="White" StrokeThickness="1" MinWidth="16" >
        <Ellipse.Clip>
            <RectangleGeometry Rect="0,0,16,10"/>
        </Ellipse.Clip>
    </Ellipse>
</Canvas>

最好的是,如果它是一个圆圈,动态地将大小更改为内容

感谢Markus

2 个答案:

答案 0 :(得分:6)

使用Path

<Canvas>
    <Path Data="M 30, 0 A 10,10 90 0 1 30,20 H 10 A 10,10 90 0 1 10,0 Z" 
          Fill="Red" Stroke="Black"/>
</Canvas>

enter image description here

答案 1 :(得分:3)

我很喜欢你提供的屏幕截图! Clip应该能够提供我认为你想要的顶部和底部剪辑,见下文。

enter image description here

<Canvas Width="16" Height="16" Margin="80,50,421,254">
   <Ellipse Fill="Red" MinHeight="16"  Name="ellipse1" Stroke="White" StrokeThickness="1" MinWidth="16" Height="100" Width="100" >
       <Ellipse.Clip>
            <RectangleGeometry Rect="0,25,100,50"/>
       </Ellipse.Clip>
   </Ellipse>
</Canvas>

RectangleGeometry的属性是(按顺序)左偏移,顶部偏移,宽度,高度。因此,请在您想要顶部切割的区域开始剪裁区域,并将其停在您希望底部剪切的位置。