Plantillas de proyecto C#, VB y C++ para aplicaciones de la Tienda

Descubre cómo ayudan las plantillas de proyecto de Visual Studio a compilar aplicaciones para dispositivos de Windows 8.1 mediante el uso de C#, VB o C++. En este tema se describen las plantillas y te ayudamos a elegir una.

Resumen de las plantillas de proyecto

En el cuadro de diálogo Nuevo proyecto, elige Aplicaciones universales para ver las opciones. Selecciona la plantilla que mejor se adapte a tus necesidades.

Categorías de aplicaciones de la Tienda

Considera estas plantillas pertenecientes a una de las siguientes categorías.

Plantillas que se usan para crear aplicaciones

Normalmente, empezarías con una estas plantillas.

PlantillaDescripción
En blancoProyecto para una aplicación de una página en la que no hay diseño o controles predefinidos. Usa esta plantilla para compilar una aplicación desde cero, sin código inicial ni XAML.
Importante  Los proyectos en blanco no controlan el botón Atrás en un Windows Phone. De manera predeterminada, la aplicación se cierra cuando los usuarios presionan el botón. Si creas un proyecto en blanco, consulta la sección Control del botón Atrás de un Windows Phone en proyectos en blanco de este tema.
Concentrador de navegación centralizada(Solo Windows 8.1) Un proyecto para una aplicación de la Tienda Windows, una aplicación de la Tienda de Windows Phone o una aplicación universal para Windows de tres páginas que use un control de navegación centralizada. Las páginas dedicadas recogen detalles del grupo y de los elementos.

Más información en Concentrador de navegación centralizada.

Cuadrícula(Solo Windows 8.1) Un proyecto para una aplicación de la Tienda Windows o una aplicación de la Tienda de Windows Phone de tres páginas que permita navegar entre elementos agrupados organizados en una cuadrícula. Las páginas dedicadas recogen detalles del grupo y de los elementos.

Más información en Cuadrícula.

División(Solo Windows 8.1) Un proyecto para una aplicación de la Tienda Windows o una aplicación de la Tienda de Windows Phone de dos páginas que permita navegar entre elementos agrupados. la primera página permite la selección de grupos, mientras que en la segunda se muestra una lista de elementos junto con detalles del elemento seleccionado.

Más información en División.

Tabla dinámica(Solo Windows 8.1) Un proyecto para una aplicación de la Tienda de Windows Phone que use un control Pivot y Windows en tiempo de ejecución.

Más información en Tabla dinámica.

WebView(Solo Windows 8.1) Un proyecto para una aplicación de la Tienda de Windows Phone que use un control de WebView y Windows en tiempo de ejecución.

Obtén más información sobre el control de WebView en WebView

DirectXUn proyecto para una aplicación de la Tienda Windows, una aplicación de la Tienda de Windows Phone o una aplicación universal para Windows que use DirectX y Windows en tiempo de ejecución.

Más información en Usar las plantillas DirectX de Microsoft Visual Studio 2013.

DirectX y XAMLUn proyecto para una aplicación de la Tienda Windows, una aplicación de la Tienda de Windows Phone o una aplicación universal para Windows que use DirectX, XAML y Windows en tiempo de ejecución.

Más información en Usar las plantillas DirectX de Microsoft Visual Studio 2013.

 

Nota  Los nombres de algunas plantillas tienen (Windows Phone Silverlight) anexado al final. Considera usar estas plantillas si anteriormente has desarrollado aplicaciones para Windows Phone 8 y quieres obtener acceso a algunas de las nuevas características disponibles para las aplicaciones de Windows Phone sin tener que modificar de forma considerable el código existente. Obtén más información sobre estas plantillas y sus usos en Aplicaciones de Silverlight 8.1 para Windows Phone.

Plantillas que se usan para crear partes de una aplicación

Cuando la aplicación sea más sofisticada, puede que decidas agregar funciones como componentes mediante una de estas plantillas.

PlantillaDescripción
DLL(Solo C++) Un proyecto para una biblioteca de vínculos dinámicos (DLL) nativa que pueda usarse en una aplicación de la Tienda Windows, una aplicación de la Tienda de Windows Phone, una aplicación universal para Windows o un componente de Windows en tiempo de ejecución que esté escrito en C++.

Más información en DLL en Visual C++.

Biblioteca estática(Solo C++) Un proyecto para una biblioteca de vínculos estáticos (LIB) nativa que pueda usarse en una aplicación de la Tienda Windows, una aplicación de la Tienda de Windows Phone, una aplicación universal para Windows o un componente de Windows en tiempo de ejecución que esté escrito en C++.

Más información en Tutorial: Crear y utilizar una biblioteca estática (C++).

Biblioteca de clasesUn proyecto para crear una biblioteca de clases administrada (.dll) para aplicaciones de la Tienda Windows, aplicaciones de la Tienda de Windows Phone o aplicaciones universales para Windows que estén escritas en C# o en Visual Basic.
Biblioteca de clases (portátil)Un proyecto para crear una biblioteca de clases administrada (.dll) para aplicaciones de la Tienda Windows, aplicaciones de la Tienda de Windows Phone, aplicaciones universales para Windows y aplicaciones de Silverlight que estén escritas en C# o en Visual Basic.

Más información en Desarrollo multiplataforma con .NET Framework.

Componente de Windows en tiempo de ejecuciónUn proyecto para crear un componente de C++ o de Windows en tiempo de ejecución administrado que puede usarse por aplicaciones de la Tienda Windows, independientemente del lenguaje de programación con el se hayan escrito.

Más información en Creación de componentes de Windows en tiempo de ejecución.

 

Plantillas que pueden usarse para probar aplicaciones

Antes de publicar tu aplicación puedes usar una de estas plantillas para optimizar el rendimiento y la calidad del código.

PlantillaDescripción
Biblioteca de pruebas unitarias o aplicación de pruebas unitariasUn proyecto que contiene pruebas unitarias que sirve para comprobar aplicaciones de la Tienda Windows, aplicaciones universales para Windows, componentes de Windows en tiempo de ejecución o bibliotecas de clases para aplicaciones de la Tienda Windows.

Más información en Crear y ejecutar pruebas unitarias para aplicaciones de la Tienda Windows en Visual Studio.

Prueba de interfaz de usuario codificadaUn proyecto que contiene pruebas de UI codificada para realizar pruebas automáticas de la IU de aplicaciones de la Tienda Windows.

Más información en Comprobar el código usando la automatización de la UI.

 

Plantillas Hub, Grid, Split y Pivot (solo Windows 8.1)

A menos que empieces con una plantilla en blanco y que crees la aplicación desde cero, es probable que empieces con una plantilla Hub, Grid, Split, Pivot o de proyecto. Puedes usar estas plantillas para crear aplicaciones para Windows 8.1. No hay ninguna versión de estas plantillas disponible para las aplicaciones de Windows 10.

A continuación, encontrarás información más detallada sobre las plantillas.

Plantilla de proyecto de navegación centralizada

La plantilla de navegación centralizada es parecida a la plantilla panorámica en Windows Phone 8.

Usa esta plantilla para mostrar contenido en una vista panorámica horizontal que proporcione una variedad de formas para obtener acceso al contenido.

Para ver un vídeo sobre esta plantilla, visita Understanding the Hub App Template Overview and Navigation.

La página principal de Navegación centralizada organiza el contenido en secciones como elementos nuevos, elementos resaltados y categorías de elementos. Esta plantilla es ideal para aplicaciones de navegación centralizada de compras, noticias, deportes o multimedia.

Si el usuario puntea en el título de una sección interactiva (indicado mediante ">"), la aplicación abre la página de la sección, donde se muestra una lista de los elementos de la sección. Si elige un elemento, ya sea de la página principal o de la página de sección, se mostrarán los detalles del elemento en una vista de página completa. En esta imagen se muestra la página principal de una aplicación de navegación centralizada con tres secciones como mínimo.

Plantilla de proyecto Aplicación de navegación centralizada para Windows

Estas secciones que aparecen en el diseñador son ejemplos del tipo de contenido que se puede mostrar. Puedes agregar y quitar secciones fácilmente para que en la aplicación se muestre el contenido que quieras y de la forma que quieras.

Las secciones de la plantilla incluyen contenido estático para que puedas proporcionar recursos globalizados con facilidad. El archivo de recursos de muestra proporciona cadenas localizadas para la configuración regional en-us.

Si quieres ver un ejemplo de cómo usar la plantilla de proyecto Hub para ayudar a los usuarios a comprar propiedades inmobiliarias, consulta Inicio rápido: Leer datos desde un servicio.

Plantilla de proyecto de cuadrícula:  

La plantilla Aplicación de cuadrícula es otra forma de permitir a los usuarios que exploren categorías de contenido. Esta plantilla es ideal para aplicaciones de compras, noticias, fotos o vídeo.

En la aplicación de cuadrícula se muestra una lista de grupos. Cuando un usuario selecciona un grupo, la aplicación abre la página de detalles de dicho grupo, donde se muestra una lista de los elementos a la derecha. El usuario puede seleccionar un elemento de la página principal o la página de detalles del grupo. Esto abre una vista a pantalla completa que puede usarse para mostrar los detalles de cada elemento. En esta imagen se muestra la página principal de una aplicación de cuadrícula.

Plantilla de proyecto Grid App

Plantilla de proyecto de división:  

En la plantilla de aplicación de división se muestra una lista de elementos y detalles de los elementos en una vista de dos columnas. Los usuarios pueden cambiar rápidamente entre los elementos y ver información en listas que se puede actualizar de forma dinámica. Esta plantilla es ideal para aplicaciones de lectores de noticias, clasificaciones deportivas o correo electrónico.

En la plantilla de aplicación de división se muestra una lista de grupos. Cuando un usuario pulsa un grupo o hace clic en él para seleccionarlo, la aplicación abre la página de vista dividida. En esta imagen se muestra la página de vista dividida.

Plantilla de proyecto Split App

La página de vista dividida muestra una vista de dos columnas (o vista Maestro y detalles), donde los detalles que se ven a la derecha van cambiando en función de los elementos que el usuario selecciona en la izquierda. Imagina una lista con noticias a la izquierda y las historias en sí a la derecha.

Plantilla de proyecto de tabla dinámica:  

Las plantillas de aplicación de tabla dinámica permite administrar vistas o páginas de manera rápida. Se puede usar para filtrar conjuntos de datos de gran tamaño, ver varios conjuntos de datos o cambiar entre vistas de aplicaciones. Por ejemplo, al desplazarse o realizar un movimiento panorámico hacia la izquierda o derecha de la página, se avanza a la siguiente página de contenido. En esta imagen se muestra la página principal de la aplicación de tabla dinámica.

Plantilla de proyecto de tabla dinámica

Navegación, administración de estados y enlace de datos

Las páginas de Navegación, Cuadrícula, División y Tabla dinámica ya implementan la navegación, la administración de estados y el enlace de datos.

Navegación y administración de estados

Las plantillas de proyecto Navegación centralizada, Cuadrícula, División y Tabla dinámica permiten la navegación por páginas. Puedes habilitar fácilmente la navegación para las páginas nuevas que usen aplicaciones auxiliares de navegación

El modelo de navegación que usa la plantilla es el modelo de navegación recomendado para las aplicaciones que usen C++, C# o Visual Basic. En este modelo, las páginas XAML se cargan en un marco central como el contenido de la ventana predeterminada y, después, los usuarios van a otras páginas usando ese marco. Las páginas se cargan según convenga, normalmente como respuesta a las acciones del usuario. Los desarrolladores web suelen referirse a este tipo de modelo de navegación como navegación de una página.

El modelo de navegación se implementa en Common\NavigationHelper. El modelo de navegación de una sola página permite una transición entre páginas más fluida y similar a la de las aplicaciones y, además, facilita la administración del estado de la aplicación mediante el contexto de una sola aplicación.

El modelo de navegación permite que la aplicación mantenga varios estados. Por ejemplo, imagina que un usuario inicia una aplicación de música de un icono principal, selecciona un artista y, a continuación, cierra la aplicación. A continuación, el usuario inicia la aplicación de música mediante un clic en el icono de una canción específica. El usuario reproduce una canción, pausa el reproductor de música y cierra la aplicación.

El usuario puede volver a la página del artista si hace clic en el icono principal. El usuario puede continuar escuchando la canción si hace clic en el icono secundario. Se mantiene el estado de las dos sesiones de forma independiente.

Aunque las plantillas proporcionan la infraestructura para este escenario, aun así tendrás que escribir código.

Nota  

Otras plantillas de proyecto como la plantilla Blank no incluyen este archivo NavigationHelper. Para dicha plantilla tendrás que agregar el archivo del proyecto NavigationHelper de forma manual o implementar navegación personalizada.

Para obtener más información sobre la navegación y ver un ejemplo de la navegación de una página en las aplicaciones de la Tienda Windows creadas con C++, C# o Visual Basic, consulta Inicio rápido: navegar entre páginas

Para ayudarte a elegir el mejor patrón de navegación para tu aplicación, consulta Patrones de navegación. También puedes ver el patrón de navegación simple en acción como parte de nuestra serie Características de aplicaciones, de principio a fin.

Enlace de datos

Las plantillas de proyecto de las aplicaciones Navegación centralizada, Cuadrícula, División y Tabla dinámica contienen un archivo de datos de muestra y clases que te ayudarán a mostrar datos del archivo cuando ejecutes la aplicación. Los datos también aparecen en las páginas a medida que las diseñas. Puedes encontrar estas clases y el archivo de datos de muestra en la carpeta Modelo de datos de la solución.

Los datos están organizados en elementos y en grupos. Cada página tiene su propia colección de pares de valores de nombre denominada modelo de vista. Los controles de las páginas están vinculados a la información del modelo de vista. Para ver cómo puedes conectar tus datos en este modelo, consulta estos temas:

El código en las páginas de la solución obtiene información de las clases de datos de la carpeta Modelo de datos.

Los archivos de la solución

Una vez creado el proyecto, las páginas de la aplicación aparecerán en el Explorador de soluciones. Por ejemplo, si un proyecto está basado en la plantilla de aplicación de navegación centralizada, verás tres páginas XAML: una página principal donde se muestran secciones de elementos (HubPage.xaml), una página donde se muestra una categoría de elementos (SectionPage.xaml) y una página donde se muestra la vista de página completa de un elemento (ItemPage.xaml).

Cada página tiene un archivo de código subyacente que implementa varios aspectos del comportamiento de la página. En la tabla siguiente se describen otros archivos que puede contener tu solución, según el tipo de proyecto que crees.

ArchivoDescripción
BooleanNegationConverter .cs|.vb|.cpp|.hConvertidor para usar en XAML. Este archivo niega un booleano. Este archivo se encuentra en la carpeta Common (Común), pero solo tendrá contenido si agregas una plantilla de elemento ShareTarget.
BooleanToVisibilityConverter .cs|.vb|.cpp|.hConvertidor para usar en XAML. Este archivo convierte un booleano a un estado de visibilidad.
NavigationHelper .cs|.vb|.cpp|.h
  • Proporciona los comandos usados para navegar hacia atrás y hacia adelante.
  • Se registra para los métodos abreviados de teclado y del mouse estándar usados para ir hacia atrás y hacia adelante (y los conecta con la implementación del comando).
  • Proporciona eventos para LoadState y SaveState que se usarán al navegar hacia y desde las páginas. Los eventos proporcionan tanto el estado de navegación como el estado de administración del ciclo de vida de los procesos.
  • Administra la información del estado mediante el uso de SuspensionManager.
ReadMe.txtContiene información importante sobre la plantilla. Este archivo puede cambiar con la actualización de las plantillas. Te recomendamos que lo leas cada vez que necesites usar una nueva plantilla.
RelayCommand .cs|.vb|.cpp|.hICommand es usado por NavigationHelper para los comandos GoBack y GoForward.
SuspensionManager cs|.vb|.cpp|.hAdministra cómo guardar y restaurar el estado transitorio de la aplicación. Por ejemplo, cuando al sistema le quedan pocos recursos, el estado de la aplicación actual se guarda y se suspende la aplicación. Cuando el usuario vuelve a la aplicación, esta se vuelve a iniciar con el estado guardado. App.xaml y NavigationHelper usan esta clase para habilitar la compatibilidad con PLM.
App.xamlEs la página que se carga primero y ofrece marcado para el host de contenido (donde cada página se carga en la ventana principal).
package.appxmanifestDescribe el paquete de la aplicación para Windows.
Archivo PFXse usa para firmar el archivo appxmanifest. (Este archivo se incluye como un archivo de proyecto para permitir la compilación desde la línea de comandos).
SampleDataSource.cs|.vb|.cpp|.hObjeto de origen de datos que expone los datos a la aplicación. Si quieres crear una aplicación con una estructura similar, puedes ahorrar tiempo si usas el modelo de datos de elementos y grupos.
SampleData.jsonContiene los datos de muestra que usa la aplicación. Los datos de muestra son cadenas codificadas de forma rígida. Deberías reemplazar estos datos de muestra con una capa de acceso a datos que haga referencia a tus propios datos.
Varios archivos de imagenPor ejemplo: SplashScreen.png para la imagen de la pantalla de presentación y StoreLogo.png, que se usa en la Tienda Windows.
Archivo de recursos de muestraContiene cadenas de localización (Resources.resw).

 

Control del botón Atrás de un Windows Phone en proyectos en blanco

Los proyectos en blanco no controlan el botón Atrás en un Windows Phone. De manera predeterminada, la aplicación se cierra cuando los usuarios presionan el botón Atrás.

Controlar el botón Atrás en un proyecto de Windows 8.1

Otras plantillas de proyecto de Windows 8.1 controlan el botón Atrás mediante el archivo NavigationHelper .cs|.vb|.cpp|.h. Para obtener una copia del archivo NavigationHelper .cs|.vb|.cpp|.h, agrega una página básica al proyecto.

Cuando el proyecto contenga el archivo NavigationHelper .cs|.vb|.cpp|.h, podrás eliminar la página básica del proyecto si lo deseas. A continuación, para controlar el botón Atrás de Windows Phone, agrega un campo privado llamado navigationHelper del tipo NavigationHelper a la página en blanco. A continuación, agrega la siguiente línea de código al constructor de la página en blanco:


this.navigationHelper = new NavigationHelper(this);

Controlar el botón Atrás en un proyecto de Windows 10

Agrega una referencia al SDK de extensión móvil de Windows y, a continuación, usa el método Windows.Foundation.Metadata.ApiInformation.IsTypePresent para determinar si hay un tipo denominado Windows.Phone.UI.Input.HardwareButtons disponible en el dispositivo de ejecución. Si lo está, la aplicación se ejecuta en un teléfono y puede crear un controlador de eventos para el evento. El código siguiente se ocupa de ello.


if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed; 


Crear una aplicación propia

Cuando estés preparado para comenzar a crear una aplicación, visita un tema de nuestra serie "de principio a fin", según el lenguaje de programación que prefieras.

 

 

Mostrar:
© 2015 Microsoft