Xamarin XAML語言教程構建ControlTemplate控件模板
控件模板ControlTemplate
ControlTemplate是從Xamarin.Forms 2.1.0開始被引入的。ControlTemplate被稱為控件模板,它將頁面的外觀和內容進行了分離,從而讓開發者可以更方便的創建基于主題的頁面。本節將講解控件模板相關的內容,其中包括構建控件模板以及控件模板的模板綁定等內容。
構建控件模板
控件模板可以在應用程序級別中構建,也可以在頁面級別中構建。以下將對這兩個構建方式進行講解。
1.應用程序級別構建
如果開發者要在應用程序級別構建控件模板,首先必須將ResourceDictionary添加到App類中,然后在ResourceDictionary中實現模板的構建。其語法形式如下:
其中,KeyName指定一個字典鍵,用來指代控件模板。
構建好模板后,我們需要將這個模板控件顯示出來,此時就需要可以模板化的視圖。在這些視圖中都會存在一個ControlTemplate屬性。將此屬性設置為創建的控件模板后,控件模板就可以進行顯示了。在Xamarin.Forms目前只有4個視圖包含ControlTemplate屬性,這4個視圖如下:
ContentPage:內容頁面
ContentView:內容視圖
TemplatedPage:模板頁面
TemplatedView:模板視圖
【示例14-3:ControlTemplateDemo】下面將在應用程序級別中構建控件模板,實現應用程序主題的切換。具體的操作步驟如下:
(1)打開App.xaml文件,編寫代碼,實現在應用程序級別中構建控件模板,代碼如下:
在此代碼中,我們構建了兩個控件模板,一個為TealTemplate控件模板,另一為AquaTemplate控件模板。