探討 Silverlight XAML 橢圓形圖案物件(3/4)

摘要:探討 Silverlight XAML 橢圓形圖案物件(3/4)

圖表 1 是 Microsoft Expression Blend 2,位於「Properties」索引標籤的「Layout」面板裡所能設定的屬性,本文將逐一解說這些屬性。


圖表 1


屬性 Width 用於取得或決定物件的寬度,這是一個 Double 值,預設值為 0.0。在此提醒大家,屬性 Width 的單位是一個與裝置無關的像素,稱為邏輯像素。如果 Width 是以一般的像素為單位,那麼該屬性的值自然不可能是一個 Double 值。

屬性 Height 用來取得或決定物件的高度,這是一個 Double 值,預設值為 0.0。在此提醒大家,屬性 Height 的單位是一個與裝置無關的像素,稱為邏輯像素。如果 Height 是以一般的像素為單位,那麼該屬性值自然不可能是一個 Double 值。

欲在 Blend 2 的畫布上調整物件的 WidthHeight 屬性,請將滑鼠移至代表物件所在區域的藍色邊框上,四個邊線與四個角落的任一個控制點上,當滑鼠指標變成「大小控制點」   或 時,即可拖曳滑鼠來調整至適當的大小,亦或是直接調整右側屬性面板裡 WidthHeight 欄位的設定。

 請注意:
 

由於正圓形是橢圓形的一種特例,因此如欲建立正圓形圖案物件,只需讓橢圓形的 WidthHeight 屬性具備相同的值即可。欲在 Blend 2 繪製正圓形時,請先選取圖形工具中的「橢圓形」,然後在畫布適當位置上,持續按著 Shift 鍵,然後將滑鼠指標拖曳至適當大小即可繪製出正圓形。

如果於繪製橢圓形時,同時按著 AltShift 鍵,將產生以滑鼠點選的座標位置為中心點的正圓形。


屬性 Canvas.Left 用於取得或決定物件位於其父畫布之左邊界的距離,屬性 Canvas.Top 則用於取得或決定橢圓形物件位於其父畫布之頂端邊界的距離,他們都是 Double 值,而預設值為 0.0。我們可以在 Blend 2 的畫布上,直接移動物件的位置進行變更,或是調整右側屬性面板裡 LeftTop 欄位的設定。

屬性 Canvas.ZIndex 用來取得或決定該物件的 z 次序,設定值愈大表示位於愈上層,設定值愈小表示位於愈下層。預設值為 0。當多個物件擁有相同的 Canvas.ZIndex 屬性值,最後出現在 XAML 語法中的物件,會位於其他物件的上面。此意味著,即便 Canvas.ZIndex 屬性值都相同,所出現的次序還是會有所差異(如圖表 2 所示)。


圖表 2

圖表 3 是 Microsoft Expression Blend 2,位於「Properties」索引標籤的「Common Properties」面板裡所能設定的屬性。


圖表 3

圖表 4 所示者,是屬性 Cursor 取得或決定當滑鼠移到物件上時,滑鼠指標要變成 MouseCursor 所指定的樣式。MouseCursor 值可以是 Arrow(箭形)、Default(預設形狀)、Eraser(橡皮擦)、Hand(手形)、IBeam(插入符號)、None(不顯示)、Stylus(點)、Wait(等待中)等樣式,預設值是 Default

 請注意:
 在預設狀態下,Cursor 屬性值為 Default,代表滑鼠游標樣式是由內含橢圓形圖案的父物件來指定,如果父物件沒有指定滑鼠游標樣式,那麼預設的形狀將會是 Arrow(箭形)。

當我們按下 Microsoft Expression Blend 2 裡的 Cursor 下拉式選單,僅能使用 NoneArrowIBeamWait、與 Hand 這 5 種樣式,欲使用其他樣式,請自行更改 XAML 的 Cursor 屬性。


圖表 4


屬性 IsHitTestVisible 用於取得或決定內含這個 UIElement 的區域是否允許進行點擊測試(Hit-Testing),如果設定成 False(亦即取消勾選核取方塊 IsHitTestVisible □),表示即使我們已經替這個物件撰寫好相關的事件處理常式,這個物件還是會忽略任何事件,比方說 MouseLeftButtonUp。屬性 IsHitTestVisible 的預設值是 True。您可以在 Blend 2 中讓該隱含的設定值轉換成本機值(Convert to Local Value),以便明確地描述 IsHitTestVisible 屬性值(如圖表所示 5)。


圖表 5


屬性 Tag 作為使用者儲存資訊或傳遞資訊之用,所以我們可以事先設定或是動態地透過程式取得,因此它沒有預設值。藉由設定此屬性,您可以指定任何自訂的字串,以便使用 JavaScript 撰寫所需的程式邏輯,來寫入或讀取該字串。


章立民研究室