Necesito agregar una funcionalidad a mi aplicación simple - para permitir al usuario cambiar el tamaño de fuente para toda la aplicación. es fácil de hacer? ¿Me puede dar alguna pista de cómo comenzar? Se requieren solo 3 tamaños de fuente predefinidos, pero la primera y única solución que me vino a la mente es crear 3 temas diferentes. ¿Es posible hacerlo más simple?WPF - cambie el tamaño de fuente global en el tiempo de ejecución
Respuesta
Afortunadamente, FontSize
utiliza Property Value Inheritance. Eso significa que, siempre que no lo anule, FontSize
se propagará automáticamente a todos los elementos de texto secundarios. Como resultado, se puede establecer una sola:
<Window FontSize="10" ...>
y se aplicará a todos los elementos de texto en la ventana que no tienen un tamaño de fuente. Para cambiarlo en el código es simple también:
this.FontSize = 20;
en el código subyacente de la ventana va a cambiar todos los tamaños de fuente especificados sobre la marcha. Esto también funciona para cosas que no parecen apoyar tamaño de la fuente:
<Grid TextElement.FontSize="15" ...>
Lo mismo es cierto para las otras propiedades del texto que usted ha mencionado.
En el nivel más básico que se necesita para enlazar la propiedad FontSize
de su TextBlocks
etc, a una variable que luego se puede cambiar para ser uno de los tres valores predefinidos:
<TextBlock FontFamily="Arial" Text="Sample text" FontSize="{Binding TextSize}" />
Sin embargo, se necesitaría para recordar agregar esto a todos su texto.
Una mejor solución sería enlazar el tamaño de los estilos que usa, pero de nuevo todo el texto debería diseñarse. Si utilizó un estilo implícito, entonces no tendría que recordar agregar la referencia a su texto, pero todo su texto tendría que tener el mismo aspecto. Si eso es un problema o no, dependerá de su aplicación.
Application.Current.MainWindow.FontSize = 12;
- 1. WPF tamaño de fuente global
- 2. Cambie el parámetro del atributo en el tiempo de ejecución
- 3. Cambie el parámetro del atributo personalizado en tiempo de ejecución
- 4. WPF: ¿Cómo hacer que el lienzo cambie el tamaño automáticamente?
- 5. Cómo cambiar el tamaño del control de usuario en WPF en tiempo de ejecución
- 6. ¿Cómo cambias el tamaño de Fancybox en tiempo de ejecución?
- 7. WPF Window Style no funciona en el tiempo de ejecución
- 8. Cambiar fuente en tiempo de ejecución
- 9. Cambie las propiedades de log4j en tiempo de ejecución
- 10. Cambie el ancho de una ProgressBar agregada en tiempo de ejecución
- 11. ¿Cómo evito que el WPF GridSplitter cambie el tamaño de mi cuadrícula?
- 12. Tamaño de fuente WPF TextBlock para rellenar el espacio disponible en una cuadrícula
- 13. Controles de medición creados en tiempo de ejecución en WPF
- 14. WPF Cambiar fuente ¿El tamaño del botón con estilo falla?
- 15. LaTeX ignorar el tamaño de fuente en el documentclass
- 16. Java Swing: cambie la configuración regional dinámicamente en el tiempo de ejecución
- 17. Cambie el tamaño del panel de forma dinámica
- 18. establecer el tamaño de fuente en jquery
- 19. ¿Cómo aumentar el tamaño de bytes [] en el tiempo de ejecución?
- 20. Convirtiendo entre tamaño de fuente WPF y tamaño de fuente "estándar"
- 21. Cargando jar en el tiempo de ejecución
- 22. El tiempo máximo de ejecución en phpMyadmin
- 23. Mida el tiempo de ejecución en C#
- 24. Tamaño de configuración de la aplicación wpf/caliburn.micro mientras permite que el contenido cambie de tamaño con la ventana principal.
- 25. escalado de fuente WPF
- 26. WPF UserControl no está llenando el contenedor primario cuando está enlazado en el tiempo de ejecución
- 27. Tamaño de un objeto en tiempo de ejecución
- 28. Rendering una imagen en tiempo de ejecución en WPF
- 29. WPF: ¿obtiene el tamaño de UIElement en la memoria?
- 30. escritura a la memoria global o local aumenta el tiempo de ejecución del kernel por 10.000%
Esta es una solución increíblemente simple en comparación con otras que he visto. ¡Gracias por la ayuda! – TheBlindSpring