天天看點

windows phone (14) 簡單了解Ellipse元素和Rectangle元素

表示繪制一個橢圓,是派生自Shapes命名空間,比如下面的例子:

        <!--ContentPanel - 在此處放置其他内容-->

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

            <Ellipse Fill="b" Stroke="WhiteSmoke" StrokeThickness="70" 

                ></Ellipse>

        </Grid>

 上 面代碼的Fill屬性表明是填充的顔色,Stroke屬性是表示描邊的顔色,StrokeThickness是表示輪廓的寬度,機關是像素,其中Fill 和Stroke屬性都是Brush類型的,是以我們自定義他們的顔色,比如實作漸變效果;他的顯示效果比較像雞蛋切片,有木有

 但是如果你在textblock标簽中添加這兩個屬性

 VerticalAlignment="Center" HorizontalAlignment="Center"

 整 個揮之區域都不見了,原因是當ellipse所在的容器允許的情況下,ellipse會填充滿這個容器區域,但是如果被強制縮小,比如加上上面兩個屬性, 那麼繪制區域就會無限制的縮小,直至看不到,是以對繪制區域限制大小就變為必須的,限制大小的屬性就是寬(width)和高(height),當我們設定 寬和高的時候,整個繪制區域就會變為圓形,比如:

 <!--ContentPanel - 在此處放置其他内容-->

            <Ellipse Fill="Fuchsia" Stroke="WhiteSmoke" StrokeThickness="50" Width="400" Height="400"

 效果:

 下面用ellipse做出的效果是類似于三維圖形的一個圓,前提是設定寬和高相同:

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

            <Ellipse  Width="400" Height="400">

                <Ellipse.Fill>

                    <RadialGradientBrush  GradientOrigin="0.4 0.4" >

                        <GradientStop Offset="0" Color="White"></GradientStop>

                        <GradientStop Offset="1" Color="Red"></GradientStop>

                    </RadialGradientBrush>

                </Ellipse.Fill>

            </Ellipse>

 由于設定的白色中心點是坐标 0.4 0.4 ,偏移離與中心坐标0.5 .05 是以顯示看起來有種立體感。

 是繪制成一個矩形,也是繼承自shape類,比如下面的例子

            <Rectangle Height="400" Width="400" Fill="Brown" Stroke="Beige" StrokeThickness="50"></Rectangle>

上面代碼中的屬性和ellipse中的用法一樣,效果:

 rectang還有ellipse不具有的兩個屬性,RadiusX和RadiusY

<Rectangle Height="500" Width="400" Fill="Brown"

                       RadiusX="190"

                       RadiusY="200"

                       Stroke="Beige" StrokeThickness="50">

            </Rectangle>

 其中RadiusX表示在X軸方向使 矩形的角變圓的橢圓的 x 軸半徑,RadiausY表示是矩形的角變圓的橢圓的Y軸半徑,注意,如果要使矩形的角變圓,這兩個值都不能為空,因為圓角的形成是通過X軸和Y軸根據定 義的長度進行畫橢圓得到,然後通過交彙形成圓角,還有就是裡的RadiausX設定的值一定是小于或等于設定的寬度值,如果設定的是負值,系統也會認為值 為正值;

效果圖:

本文轉自shenzhoulong  51CTO部落格,原文連結:http://blog.51cto.com/shenzhoulong/838219,如需轉載請自行聯系原作者

繼續閱讀