Elegir diferentes fuentes en WPF

Si queremos dar un paso más, otorgando un añadido a la aplicación que estamos desarrollando, podemos dar diferentes formatos de texto a un informe, cartas, currículos etc… Para mostrar esta característica voy a elaborar una simple aplicación en la que introduciremos un texto y podremos elegir las diferentes fuentes, así como cambiar el texto a negrita o cursiva.

 1

El texto original en el que voy a realizar los diferentes cambios, cada uno de estos valores cambiará gracias a la utilización de elemento Binding que obtendrá los valores de los dos combo Box.

<TextBox FontFamily="{Binding ElementName=ElegirFuente,Path=SelectedValue}"

<!—Toma la fuente de el Item elegido en el Combo Box de Fuentes"ElegirFuentes"–>

FontWeight="{Binding ElementName=FormatoFuentes,Path=SelectedValue.Weight}"

FontStretch="{Binding ElementName=FormatoFuentes,Path=SelectedValue.Stretch}"

FontStyle="{Binding ElementName=FormatoFuentes,Path=SelectedValue.Style}"/>

<!—El formato de la letra es obtenido del Item selccionado del segundo Combo Box–>

 

El combo Box de elección de las diferentes fuentes se cargará de estas a través de la propiedad estática del Framework Fonts.SystemFontFamilies. Cada uno de los Items tomará su fuente de la citada propiedad, Tomando cada uno de los ítems la fuente correspondiente. De este modo ya puedo ver los diferentes Items formateados dándome una elección del tipo de letra más sencilla.

<ComboBox x:Name=" ElegirFuente "

ItemsSource="{Binding Source={x:Static Member=Fonts.SystemFontFamilies}}">

<ComboBox.ItemTemplate>

<DataTemplate>

<!—Se crea una plantilla para la presentación de los diferentes fuentes–>

<TextBlock FontFamily="{Binding .}" Text="{Binding Source}"/>

</DataTemplate>

</ComboBox.ItemTemplate>

</ComboBox>

 

El segundo Combo Box se encargará de dar formato a nuestra fuente (cursiva, negrita, etc.), este formato lo obtendrá de la propiedad estática FamilyTypefaces

<ComboBox

x:Name="FormatoFuentes"

ItemsSource="{Binding ElementName= FormatoFuentes,Path=SelectedValue.FamilyTypefaces}">

<ComboBox.ItemTemplate>

<DataTemplate>

<ListBox ItemsSource="{Binding AdjustedFaceNames}">

<ListBox.ItemTemplate>

<DataTemplate>

<TextBlock Text="{Binding Value}"/>

</DataTemplate>

</ListBox.ItemTemplate>

</ListBox>

</DataTemplate>

</ComboBox.ItemTemplate>

</ComboBox>

 

Como podéis observar la aplicación de las distintas fuentes y sus correspondientes formatos no requiere un gran esfuerzo de desarrollo, por el contrario si otorga una mayor calidad a nuestras aplicaciones.

Deja un comentario

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