Silverlight - Mẫu
A Templatemô tả giao diện tổng thể và hình thức trực quan của điều khiển. Đối với mỗi điều khiển, có một mẫu mặc định được liên kết với nó, mẫu này cung cấp diện mạo cho điều khiển đó.
Trong ứng dụng WPF, bạn có thể dễ dàng tạo các mẫu của riêng mình khi bạn muốn tùy chỉnh hành vi trực quan và hình thức trực quan của điều khiển.
Một số tính năng quan trọng là -
Tất cả các phần tử giao diện người dùng đều có một số kiểu giao diện cũng như hành vi, ví dụ: Button có ngoại hình và hành vi.
Click sự kiện hoặc mouse hover sự kiện là các hành vi, được kích hoạt để phản ứng với một lần nhấp và di chuột và có giao diện mặc định của nút, có thể được thay đổi bằng Control bản mẫu.
Chúng ta hãy xem xét lại một ví dụ đơn giản, trong đó một nút được xác định bằng mẫu.
<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>
Khi đoạn mã trên được biên dịch và thực thi, bạn sẽ thấy kết quả sau.
Kết nối Mẫu
Tất cả các tính năng điều khiển, mà chúng tôi muốn tạo mẫu, đều có ràng buộc mẫu. Một số khía cạnh phức tạp hơn một chút. Ví dụ: bất cứ khi nào bạn có một biểu mẫu của mô hình nội dung, chỉ ràng buộc Mẫu là không đủ mà bạn đã thấy trên nút. Chúng ta cũng phải sử dụng một trình trình bày nội dung như trong ví dụ trên.