Introducción
Con la llegada del SDK de Windows 10 Preview tenemos la posibilidad de crear Apps Universales con un único binario que funcione en múltiples plataformas. Es un paso importante pero que conlleva realizar una acción que sera comun, diferenciar entre las diferentes plataformas donde correrá dicho binario para poder adaptar la interfaz de usuario. Con ese objetivo utilizamos entre otras opciones los Adaptive Triggers de los que ya hemos hablado.
Sin embargo, en ocasiones la misma vista en diferentes dispositivos puede que sea totalmente diferente.
En estos casos podemos crear vistas diferentes por familias de dispositivos. Tras añadir una vista de la forma habitual, creamos una carpeta siguiente la siguiente nomenclatura:
- DeviceFamily-[Family]
Donde Family es la familia del dispotivo para el que deseamos sobrescribir la vista.Dentro de esta carpeta añadimos la vista XAML deseada en esa plataforma.
NOTA: Añadimos la sobreescritura de la vista. Es importante un detalle del fichero añadido, no añadimos code behind. Esta vista utilizará el mismo code behind que la que teníamos previamente.
DeviceFamily Adaptive XAML Tool
Gestionar carpetas o vistas por familia de dispositivo se vuelve aun más sencillo gracias a la extensión Device Family Adaptive XAML Tool creada por Olivier Matis.
Podemos hacer clic derecho sobre la solución para acceder a un menu contextual llamado «Add single folder» para añadir carpeta de vistas específica para una plataforma concreta. Además, haciendo clic sobre una vista existente tendremos acceso a otro menu contextual «Add device family XAML» que nos creará la vista XAML específica para la familia de dispositivos seleccionada.
Sencillo pero extremadamente útil, ¿cierto?.
Más información
- Channel 9: Developer’s Guide to Windows 10 Preview
- SharpGIS: Creating DeviceFamily specific layouts in a Universal App
- Olivier Matis: Using DeviceFamily to create device adaptive layouts
Con ese objetivo utilizamos entre otras opciones los Adaptive Triggers ¿un enlace no te habría venido mal?
Cierto. Tienes un artículo completo sobre Adaptive Triggers aquí: https://javiersuarezruiz.wordpress.com/2015/04/06/windows-10-adaptive-triggers/