Silverlight - Template
SEBUAH Templatemendeskripsikan tampilan keseluruhan dan tampilan visual kontrol. Untuk setiap kontrol, ada template default yang terkait dengannya, yang memberikan tampilan ke kontrol tersebut.
Dalam aplikasi WPF, Anda dapat dengan mudah membuat template Anda sendiri ketika Anda ingin menyesuaikan perilaku visual dan tampilan visual suatu kontrol.
Beberapa fitur penting adalah -
Semua elemen UI memiliki beberapa jenis tampilan serta perilaku misalnya Button berpenampilan dan berperilaku.
Click acara atau mouse hover event adalah perilaku, yang dipicu sebagai respons terhadap klik dan hover dan ada tampilan default tombol, yang dapat diubah oleh Control template.
Mari kita lihat contoh sederhana lagi di mana sebuah tombol didefinisikan dengan template.
<UserControl x:Class = "ButtonTemplate.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d" d:DesignWidth = "640" d:DesignHeight = "480">
<Grid x:Name = "LayoutRoot" HorizontalAlignment = "Center"
VerticalAlignment = "Center">
<Button Height = "100" Width = "100" Content = "Click!"
HorizontalContentAlignment = "Left" Click = "button_Click">
<Button.Template>
<ControlTemplate TargetType = "Button">
<Grid>
<Ellipse Fill = "Gray" Stroke = "Black"
StrokeThickness = "3" Margin = "-64,0,0,0" />
<ContentPresenter HorizontalAlignment = "{TemplateBinding
HorizontalContentAlignment}" VerticalAlignment = "Center"
Content = "{TemplateBinding Content}" />
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
</UserControl>
Ketika kode di atas dikompilasi dan dijalankan, Anda akan melihat output berikut.
Menghubungkan Template
Semua fitur kontrol, yang ingin kita buat template, ada dengan template binding. Beberapa aspek sedikit lebih kompleks. Misalnya, setiap kali Anda memiliki bentuk model konten, penjilidan Template saja tidak cukup seperti yang Anda lihat di tombol. Kami juga harus menggunakan presenter konten seperti yang ditunjukkan pada contoh di atas.