Obtener el template o la plantilla de un Control XAML – WPF


En algunos casos cuando estamos trabajando con XAML, queremos modificar la presentación de un control, como por ejemplo, modificar un Scrollbar, para personalizarlos.

El problema esta en que no podemos iniciar desde cero para crear el template o la plantilla del control, hay una solución muy sencilla, y es extraer el XAML por defecto que tienen los controles, luego ya podemos modificarlos a nuestro gusto.

La forma de hacerlo es:

– Arrastrar el control a la ventana

– Luego guardar el Template del control en un archivo xml

Para hacerlo, creamos un proyecto, agregamos un botón y un ScrollBar, nombramos el ScrollBar como scroll, en el Click del botón agregamos lo siguiente:

private void Button1_Click(object sender, RoutedEventArgs e)
{
 using (System.IO.FileStream aStream = new System.IO.FileStream("C:\\template.xml", System.IO.FileMode.Append))
 {
 System.Windows.Markup.XamlWriter.Save(scroll.Template, aStream);
 }
}

Sigue leyendo

Anuncios

Panel desplegable WPF – Silverlight


Muchas veces necesitamos en nuestra aplicación un panel que al presionarlo muestre su contenido y luego vuelva a ocultarse.

Lo que vamos a hacer es crear con animaciones un panel donde con un botón podemos mostrar y ocultar su contenido:

Antes:

panel1

Después:

 panel2

Manos a la obra!

Creamos un nuevo proyecto en WPF, (este ejemplo puede ser usado en Silverlight), adicionamos un control Border , la posición del Panel varía según nuestros requerimientos, para empezar crearemos uno que se encuentre arriba y al desplegarse se despliegue hacia abajo.

Las propiedades del Border:

 <Border Height="30" Width="200" CornerRadius="10" Margin="115,0,125,0" Name="border1" VerticalAlignment="Top"

  BorderBrush="Green" BorderThickness="2" Background="LightGreen">

</Border>

Desde el código xaml, agregamos dentro del Control Border un Control Grid, el cuál será nuestro contenedor principal, recordemos que el Control Border no es un contenedor y solo puede tener un control anidado. La grilla tendrá 1 columna y 2 filas, una fila será la que tendrá nuestro botón para activar el panel y la otra fila tendrá lo que queremos mostrar.

Sigue leyendo