Cómo dominar el tamaño de controles WinUI en Xojo

A continuación encontrarás traducido al castellano el artículo escrito por Wayne Golding y publicado originalmente en el Blog oficial de Xojo.

Los controles de WinUI tienen un mayor tamaño en comparación con sus equivalentes Win32; lo que implica que necesitarás cierta planificación para que tus diseños se vean como esperas. En algún momento el IDE de Xojo se encargará de ajustar dichas diferencias en el tamaño de los controles pero, mientras tanto, he realizado una segunda instalación de Xojo específicamente para realizar algunas pruebas. Los Overrides de clases me han permitido cambiar los tamaños por omisión de los controles que utilizo habitualmente. También he creado una plantilla “Default Desktop Project” con las opciones de WinUI ya configuradas. Esto facilita probar y experimentar con WinUI.

Configurar los Overrides

Tras instalar Xojo 2026r3 utiliza el Explorador de Windows para copiar y pegar la carpeta del programa. Luego, cambia el nombre de la carpeta copiada.

A continuación, crea una carpeta Overrides dentro de la carpeta recién copiada.

Seguidamente crea tus archivos de overrides en dicha carpeta.

Estos son los controles que utilizo con frecuencia. También he incluido DesktopTable porque ya está preparado para WinUI.

Crear la plantilla de proyecto

Por último, crea un nuevo proyecto Desktop y ajusta las opciones de WinUI.

Guarda el proyecto como “Default Desktop Project” en formato binario. Luego, copia este archivo en la carpeta Templates de tu instalación WinUI.

A partir de este punto, cuando arrastres los controles desde la Librería, estos aparecerán con el tamaño correcto en el Editor de Diseño.

Descarga el proyecto desde este enlace.

Para tu comodidad, he comprimido los archivos de Overrides y la plantilla de proyecto en un único archivo. Sólo has de descomprimir el archivo en tu instalación de WinUI y reiniciar el IDE.

Deja un comentario

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