[XAML] Plantillas

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.

Un comentario sobre “[XAML] Plantillas”

Responder a anonymous Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *