詳細解讀Silverlight Line對象使用技巧
Silverlight中關于編碼方面的應用是一個應用重點。只有熟練的使用各種方法來進行合理的編寫代碼,才能真正的實現(xiàn)我們所需要的圖形界面的需求。在Silverlight提供的諸多形狀對象中,Line對象無疑是最簡單的一個,源于此,大家很容易忽略掉Line對象的一些特色功能。例如下面提到的兩個應用技巧。#t#
定義Silverlight Line對象起點和終點的外觀
默認情況下,Line對象繪制的線條的起點和終點都是沒有樣式的,但可以通過StrokeStartLineCap、StrokeEndLineCap、StrokeDashCap屬性為直線對象額外增加線帽樣式。其中前兩個屬性主要用于實線對象,其取值類型為PenLineCap 枚舉(PenLineCap 枚舉的取值范圍見下表)。
所謂線帽是在直線的原有長度外,額外增加的圖形
Silverlight Line對象成員名稱及說明
Flat 一個未超出直線上***一點的線帽。等同于無線帽。
Square 一個高度等于直線粗細、長度等于直線粗細一半的矩形。
Round 一個直徑等于直線粗細的半圓形。
Triangle 一個底邊長度等于直線粗細的等腰直角三角形。
下面的示例顯示的就是設置不同的StrokeStartLineCap、StrokeEndLineCap屬性值的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>
通過Silverlight Line對象繪制虛線效果,需要用到StrokeDashArray屬性,該屬性對應一個Double類型的集合。該集合的奇數(shù)位表示線段的長度,偶數(shù)位表示兩個線段之間的間隔長度。如果只是表示普通的虛線,則只需定義一個數(shù)值就可以了,默認會將該數(shù)值作為線段跟間隔的長度。例如,下面的Xaml代碼就表示等一條等間距的虛線。
- < Line Grid.Row="1" X1="80"
Y1="30" X2="330" Y2="30"
StrokeDashArray="4" Stroke="Blue"
StrokeThickness="2"
StrokeStartLineCap="Round">- < /Line>
如果想表示一些特殊類型的虛線,那么就需要為StrokeDashArray屬性設置多個數(shù)值了。
其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>
在Silverlight Line對象應用StrokeDashArray屬性時需要注意的是,其設置的數(shù)值并不是線段以及間隔的實際像素值,而是相對于StrokeThickness的倍數(shù)。