Silverlight中的Line對象的非典型應用

       Silverlight提供的諸多形狀對象中,Line對象無疑是最簡單的一個,源於此,大家很容易忽略掉Line對象的一些特色功能。例如下面提到的兩個應用技巧。

 

定義Line對象起點和終點的外觀

默認情況下,Line對象繪製的線條的起點和終點都是沒有樣式的,但可以通過StrokeStartLineCapStrokeEndLineCapStrokeDashCap屬性爲直線對象額外增加線帽樣式。其中前兩個屬性主要用於實線對象,其取值類型爲PenLineCap 枚舉(PenLineCap 枚舉的取值範圍見下表)。

所謂線帽是在直線的原有長度外,額外增加的圖形

 

成員名稱         說明

Flat      一個未超出直線上最後一點的線帽。等同於無線帽。

Square      一個高度等於直線粗細、長度等於直線粗細一半的矩形。

Round       一個直徑等於直線粗細的半圓形。

Triangle    一個底邊長度等於直線粗細的等腰直角三角形。

下面的示例顯示的就是設置不同的StrokeStartLineCapStrokeEndLineCap屬性值的Xmal代碼跟顯示效果:

        <Line Grid.Row="0" X1="80" Y1="30" X2="330" Y2="30" Stroke="Red" StrokeThickness="10" StrokeEndLineCap="Triangle"></Line>

 

        <Line Grid.Row="0" X1="80" Y1="80" X2="330" Y2="80" Stroke="Blue" StrokeThickness="10" StrokeEndLineCap="Triangle" StrokeStartLineCap="Round"></Line>

 

 

         實現虛線

         通過Line對象繪製虛線效果,需要用到StrokeDashArray屬性,該屬性對應一個Double類型的集合。該集合的奇數位表示線段的長度,偶數位表示兩個線段之間的間隔長度。如果只是表示普通的虛線,則只需定義一個數值就可以了,默認會將該數值作爲線段跟間隔的長度。例如,下面的Xaml代碼就表示等一條等間距的虛線。

        <Line Grid.Row="1" X1="80" Y1="30" X2="330" Y2="30" StrokeDashArray="4" Stroke="Blue" StrokeThickness="2" StrokeStartLineCap="Round"></Line>

 

如果想表示一些特殊類型的虛線,那麼就需要爲StrokeDashArray屬性設置多個數值了。

例如要實現下面這個類型的虛線

Xaml代碼如下:

        <Line Grid.Row="1" X1="80" Y1="60" X2="330" Y2="60" StrokeDashArray="4 2 1 2" Stroke="Blue" StrokeThickness="2" StrokeStartLineCap="Round"></Line>

在應用StrokeDashArray屬性時需要注意的是,其設置的數值並不是線段以及間隔的實際像素值,而是相對於StrokeThickness的倍數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章