一、wpf樣式(style)
類似於web應用程式中的css,在wpf中可以為控制項定義統一的樣式(style)。樣式屬於資源的一種,例如為button定義統一的背景顏色和字型:
button a
button b
執行如下:
從執行的結果上來看:
• 在style中定義的屬性及值,影響到window中的所有型別為button的控制項的樣式
• 在button中可以新定義其他屬性(如foreground),覆蓋style中的定義(background)
這種樣式,類似於css中的型別選擇器,為某種型別定義樣式。
此外還可以在style中加入x:key屬性,做為特定的樣式(注意,這種也需要定義targettype);定義時還可以基於已定義的某種樣式,例如,基於剛才的button的樣式,更改字型的大小及文字的前景及背景顏色:
button a
button b
button c
執行如下:
二、控制項模板(controltemplate)
當使用乙個控制項時,如果控制項的屬性、方法、事件滿足程式的需求,但控制項的外觀不滿足要求的時候,除了自定義控制項這種方法外,我們還可以通過使用「控制項模板」的方式更改控制項的外觀。例如定義乙個圓形的按鈕:
二、控制項模板(controltemplate)
當使用乙個控制項時,如果控制項的屬性、方法、事件滿足程式的需求,但控制項的外觀不滿足要求的時候,除了自定義控制項這種方法外,我們還可以通過使用「控制項模板」的方式更改控制項的外觀。例如定義乙個圓形的按鈕:
common button
執行如下:
三、觸發器(trigger)
值得注意的是,這個時候,對於此按鈕,無論是否獲得焦點、滑鼠是處於其上方,顯示的外觀均是相同的,如果要定義以上的一些效果,可以使用觸發器來實現。
style、controltemplate 和 datatemplate 都具有 triggers 屬性,該屬性可以包含一組觸發器。某個屬性值更改時,或某個事件引發時,觸發器會相應地設定屬性或啟動操作(如動畫操作)。
觸發器包含以下幾種:
• 屬性觸發器
• eventtrigger 和 storyboard
• multitrigger、datatrigger 和 multidatatrigger
我們這裡可以使用屬性觸發器來實現:
例如,在controltemplate中(即上段**28行前插入以下**):
當按鍵獲得鍵盤焦點時:
滑鼠在其上時:
WPF樣式(Style)與模板(Template)
一 wpf樣式 類似於web應用程式中的css,在wpf中可以為控制項定義統一的樣式 style 樣式屬於資源的一種,例如為button定義統一的背景顏色和字型 1 2 9 10 11 button a12 button b13 從執行的結果上來看 這種樣式,類似於css中的型別選擇器,為某種型別定...
WPF資料模板樣式選擇器
在使用資料模板樣式選擇器時,不能設定itemcontainerstyle的屬性值,如果設定了該值,那麼資料模板樣式選擇器會失去作用。在使用資料模板樣式選擇器時,首先要建立資料模板樣式選擇器物件,此物件要重寫styleselector基類的selectstyle方法,並在方法中返回相應的樣式,cs 如...
WPF資料模板樣式選擇器
在使用資料模板樣式選擇器時,不能設定itemcontainerstyle的屬性值,如果設定了該值,那麼資料模板樣式選擇器會失去作用。在使用資料模板樣式選擇器時,首先要建立資料模板樣式選擇器物件,此物件要重寫styleselector基類的selectstyle方法,並在方法中返回相應的樣式,cs 如...