[How To] Aplicar estilos desde código

septiembre 16, 2015 Christian Amado 0 Comentarios

Introducción

Básicamente, aquí demuestro cómo crear un estilo enteramente mediante código C# sin la necesidad de crearlo como recurso en XAML. Particularmente, me siento más cómodo utilizando XAML para realizar esta tarea, pero de todos modos comparto una manera de realizarlo mediante C#



Utilizando el código

En este caso aplicaremos el estilo a todos los controles de tipo TextBox y cambiaremos sus colores:
void AplicartEstiloTextBox()
{
    //Instanciamos la clase Style y aplicamos el estilo al tipo que necesitemos, mediante typeof.
    Style style = new Style(typeof(TextBox));
    
    //Aplicamos los setters para los distintos cambios que haremos al estilo
    style.Setters.Add(new Setter(TextBox.ForegroundProperty, Brushes.Red));
    style.Setters.Add(new Setter(TextBox.TextProperty, "RedColor"));
   
    //Agregamos el estilo al recurso del XAML
    Resources.Add(typeof (TextBox), style);
}

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    //Llamamos a nuestro método privado
    this.AplicarEstiloTextBox();
}

Conclusión

En WPF, mediante C#, podemos lograr generar estilos sin pasar por el código XAML. Pero esto genera mucho código innecesario, pudiendo aprovechar ese tiempo en crear estilos más bonitos mediante XAML directamente.