Silverlight - Modelli
UN Templatedescrive l'aspetto generale e l'aspetto visivo del controllo. Ad ogni controllo è associato un modello predefinito che conferisce l'aspetto a quel controllo.
Nell'applicazione WPF è possibile creare facilmente i propri modelli quando si desidera personalizzare il comportamento visivo e l'aspetto visivo di un controllo.
Alcune caratteristiche importanti sono:
Tutti gli elementi dell'interfaccia utente hanno un qualche tipo di aspetto e comportamento, ad es Button ha un aspetto e un comportamento.
Click evento o mouse hover sono i comportamenti, che vengono attivati in risposta a un clic e al passaggio del mouse e c'è un aspetto predefinito del pulsante, che può essere modificato dal Control modello.
Vediamo di nuovo un semplice esempio in cui un pulsante è definito con 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>
Quando il codice sopra viene compilato ed eseguito, vedrai il seguente output.
Collegamento del modello
Tutte le funzionalità di controllo, che vogliamo modellare, sono con associazioni di modelli. Alcuni aspetti sono un po 'più complessi. Ad esempio, ogni volta che hai una forma di modello di contenuto, l'associazione del modello da sola non è sufficiente che hai visto sul pulsante. Dobbiamo anche utilizzare un presentatore di contenuti come mostrato nell'esempio sopra.