El misterio de los controles desaparecidos

 

Pues eso… aunque los controles más que desparecidos están o son invisibles…
Y es curioso porque "supuestamente" estoy usando lo mismo en ambas versiones…
Ah.. que no te he explicado de qué va la cosa…

Pues resulta que la primera vez que quise hacer un panel para la configuración me basé en un ejemplo de la documentación en línea: Quickstart: Add app settings, pero al mostrar el código del panel (en el que había solo un ToggleSwitch) dicho control no era visible, pero estaba.

 

La solución

 

En esa misma página hay un enlace a un ejemplo del SDK:

App settings sample. En el que, al menos en el código de C#, hay un panel de configuración (SettingsFlyout.xaml) con un montón de controles (ver la figura 1), y todos ellos son visibles… es decir, están y se puede demostrar.

 

settingsFlyout sdk
Figura 1. El panel de configuración del ejemplo de C# en App settings sample

 

Sin embargo, he copiado esa página en otro proyecto (tanto de VB como de C#) y no hay forma de que se vean los controles, que están, pero no se puede demostrar… y para muestra, la figura 2.

 

settingsFlyout blanco
Figura 2. La misma página usada para la captura de la figura 1 en otro proyecto

 

He mirado los estilos, he comprobado que todo está como en el proyecto original y nada… no hay forma de que se vean dichos controles. Primero pensé que era porque estaba usando Visual Basic y que faltaba algo del código usado en C#, pero no… también lo he probado en un proyecto de C# y tampoco soy capaz de mostrar los controles.
De todas formas, en el ejemplo del SDK sólo he visto que esa página esté en el proyecto de C# pero no en el de Visual Basic… lo mismo es que a ellos les pasó lo mismo… hum… aunque no me sirve de consuelo… no… 🙁

Seguramente será algo simple, pero no doy con la tecla… y lo publico por si por casualidad alguien lo ve y sabe cuál es el problema… porque yo no soy capaz de encontrarlo… en fin…

 

Lo dicho, si sabes cómo solucionarlo, me lo dices.
Gracias.

 

 

 

La solución:

En el fichero App.xaml (en la definición de <Application) añadir lo siguiente:

RequestedTheme="Light"

¡¡¡Y ya se ven los dichosos controles!!!

La inspiración vino al leer el artículo Windows Store App Settings Flyout de Mohamed Mahmoud El-Geish en el que explica cómo hay que diseñar uno de estos paneles y al indicar que el fondo del panel debe ser blanco indica el problema de los colores… y lo de indicar el RequestedTheme.

Después de encontrar esta solución, vi que en mi facebook, Omar del Valle había puesto un enlace en el que explican esto de los temas claros y oscuros (Light y Dark):
Mixing themes in XAML Metro apps.

En fin…

 

 

Nos vemos.
Guillermo

Esta entrada fue publicada en cosas técnicas, mis cosas y etiquetada , , . Guarda el enlace permanente.