Introducción
Cuando en las aplicaciones de escritorio desarrolladas con Windows Forms, queríamos modificar el aspecto de un determinado control, teníamos bastantes limitaciones de las cosas que podíamos hacer con ellos, a no ser que modificásemos internamente desde código su apariencia.
Tanto en WPF como en Silverlight, podemos modificar la apariencia de los controles de varías maneras.
En este post vamos a ver como modificar un control a través de las Plantillas.
Definición y Tipos
Una plantilla va a permitir definir la forma de visualización de un control modificando el árbol visual del mismo.
=> ControlTemplate
El tipo ControlTemplate se utiliza para definir la estructura visual de un control.
Ejemplo:
1: <Button Margin="0,0,213,247" Click="Button_Click" Content="Prueba">
2: <Button.Template>
3: <ControlTemplate>
4: <Grid>
5: <Ellipse Fill="Red"/>
6: <ContentPresenter Content="{TemplateBinding Content}"/>
7: </Grid>
8: </ControlTemplate>
9: </Button.Template>
10: </Button>
=> DataTemplate
El tipo DataTemplate se utilizara para definir la estructura visual de un elemento dentro de un control que muestra datos, como puede ser un ListBox.
Ejemplo:
1: <ListBox x:Name="Listado" Margin="0,0,31,22" ItemsSource="{Binding Evaluaciones}">
2: <ListBox.ItemTemplate>
3: <DataTemplate>
4: <Grid>
5: <Expander Header="{Binding Cabecera}">
6: <ListBox ItemsSource="{Binding Listado}">
7: <ListBox.ItemTemplate>
8: <DataTemplate>
9: <Grid>
10: <Label Content="{Binding Campo2}"/>
11: <Label Content="{Binding Campo3}"/>
12:
13: </Grid>
14: </DataTemplate>
15: </ListBox.ItemTemplate>
16: </ListBox>
17: </Expander>
18: </Grid>
19: </DataTemplate>
20: </ListBox.ItemTemplate>
21: </ListBox>
En el próximo post hablaré de los Estilos y comentaré las distintas formas de definir las Plantillas.
Espero que os sea de utilidad.
Saludos.
Definición Podríamos definir estilo como el aspecto visual que va a tener un elemento dentro de nuestra