摘要:自訂Silverlight控制項樣式
類似於HTML裡的CSS,可透過一些屬性的值及Selector,達到網頁內樣式.風格的設定,
在Silverlight,我們同樣可以使用Style來宣告樣式並提供給網頁內的元素參考,Silverlight
允許我們直接將樣式或模板定義在XAML檔中,作為XAML的資源,設定樣式的內容會
包含在<XXX.Resources></XXX.Resources>或<XXX.Style></XXX.Style>的標籤內,
此為執行範例:
以一個Button為例,要自訂樣式,可在Button上按滑鼠右鍵,選擇Edit a Copy …,
接下來會看到底下這個視窗,上面的Name是定義這個Style的名稱,下面的Define in是設定此
樣式的使用範圍,
(1)若選擇Application,
樣式的內容會出現在App.xaml檔裡的<Application.Resources></Application.Resources>裡,
在此定義的樣式屬於全域樣式,整個Silverlight專案的XAML都可以參考的到
(2)若選擇This document,
則會依據此元件所在的類別產生資源標籤,若所在類別為UserControl,則樣式內容會出現在
<UserControl.Resources></UserControl.Resources>裡,在此定義的樣式屬於局部樣式,只有在此類別
的元件才能參考的到
(3)若選擇Resource dictionary,
可以自己新增一個XAML檔來存放樣式內容,樣式內容會出現在
<ResourceDictionary></ResourceDictionary>裡,同時
在App.xaml檔的<Application.Resources></Application.Resources>裡也會出現一個關聯至
資源字典XAML檔的ResourceDictionary標籤,故也屬於全域樣式
ResourceDictionary1.xaml :
App.xaml :
樣式新增後,它會建立一個元件的副本給你做修改,你可以刪去不需要的樣式內容,加入自己需要的內容,
自訂樣式時,可點選Objects and Timeline工作區底下的Template去做修改
知道如何建置樣式後,可以來看看樣式的相關屬性
Style的TargetType定義了此Style作用目標的類型;在控制項中可使用Style的Key值來參考這個樣式









