Professional Documents
Culture Documents
Estilos CSS
En este tema se proporciona informacin detallada sobre las plantillas de proyecto para
aplicaciones de la Tienda Windows creadas con JavaScript para Windows. Aparte de un
groupDetail.html, que permite que los usuarios vean los detalles del grupo a la
izquierda y los elementos a la derecha, as como seleccionar un elemento para
navegar a la vista de elemento de pgina completa
data.js, que es el objeto de origen de datos que expone los datos al resto de la
aplicacin.
groupDetail.css, que especifica los estilos CSS de la pgina de detalles del grupo.
Modelo de navegacin
Estilos CSS
El tema sobre cmo agregar datos incluye un ejemplo que muestra cmo se agregan datos
dinmicos a la plantilla Cuadrcula y se enlazan a la interfaz de usuario.
La pgina 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 funcin de los elementos que
el usuario selecciona en la izquierda. Siguiendo con el ejemplo inicial, piensa en una lista
donde figuran noticias a la izquierda y las historias reales, a la derecha.
Archivos de proyecto para la plantilla Split
La plantilla Aplicacin dividida incluye los siguientes archivos HTML:
data.js, que es el objeto de origen de datos que expone los datos a la aplicacin.
Modelo de navegacin
Estilos CSS
El tema sobre cmo agregar datos incluye un ejemplo que muestra cmo agregar datos
dinmicos a la plantilla Dividir y enlazarlos a la interfaz de usuario.
Para ver un ejemplo que muestra cmo agregar datos dinmicos y personalizar
caractersticas de la plantilla Split, consulta Crear un lector de blogs.
Para ver un ejemplo que muestra cmo agregar bsqueda a la plantilla Split, consulta
Adicin de una plantilla de elemento Contrato de Buscar.
Modelo de navegacin
Estilos CSS
Si necesitas incluir un control especial sobre los cambios en el estado de visualizacin con
la plantilla Navigation, debers modificar el cdigo. Te recomendamos que sigas el mismo
patrn que con las plantillas Grid y Split, que consiste en implementar updateLayout en
las pginas HTML. Para obtener ms informacin, consulta el tema sobre el control del
estado de visualizacin. La compatibilidad con updateLayout se proporciona en el modelo
de navegacin compartido.
Para agregar ms pginas a la aplicacin, usa la plantilla de elementos Page Control . Para
ver un ejemplo de cmo agregar una plantilla Page Control, consulta Agregar una plantilla
de elementos Page Control.
La plantilla Aplicacin de diseo fijo ofrece una aplicacin de la Tienda Windows mnima,
que es igual a la plantilla Aplicacin vaca, excepto en que su contenido es para una
ventanilla fija. Te recomendamos esta plantilla para la mayora de las aplicaciones de
juegos creados en JavaScript.
Cuando ejecutes una aplicacin basada en la plantilla Fixed Layout, vers una pantalla
negra que contiene texto de marcador de posicin.
Archivos de proyecto para la plantilla Fixed Layout
La plantilla Aplicacin de diseo fijo incluye este archivo HTML:
El tamao de una aplicacin Fixed Layout se ajusta para adaptarse al rea de visualizacin.
Para ajustarlo, la plantilla usa un control ViewBox. Por ejemplo, si eliges una resolucin de
768 x 1.024 para la aplicacin, pero el dispositivo que ejecuta la aplicacin no tiene un rea
de visualizacin con esta resolucin, la aplicacin se ampla o reduce para que su ventanilla
de diseo fijo aparezca ante el usuario.
La apariencia y comportamiento generales de la plantilla Fixed Layout se crean mediante la
hoja de estilo CSS ui-dark.css. Puedes reemplazar la referencia que se hace a esta hoja de
estilo en las pginas HTML por ui-light.css. Para obtener ms informacin, consulta el
tema sobre estilos CSS.
Los miembros que se incluyen en esta funcin annima son privados, pero los
puedes convertir en pblicos con la funcin WinJS.Namespace.define. El uso de la
funcin annima cambia el modo en el que se escribe un determinado cdigo, como
el que necesitas para agregar tus propios controladores de eventos Para obtener ms
informacin, consulta el tema sobre codificacin de aplicaciones bsicas.
Cada archivo JavaScript especifica el uso de modo strict con la instruccin "use
strict". Para obtener ms informacin, consulta el tema sobre el modo strict en la
referencia de lenguaje JavaScript.
En algunas partes del archivo JavaScript se usan comentarios de documentacin XML para
ofrecer una experiencia de IntelliSense ms completa. Para obtener ms informacin,
consulta el tema sobre IntelliSense de JavaScript.
El mejor sitio en el que agregar cdigo para administrar el ciclo de vida de la aplicacin es
default.js. La implementacin de default.js es igual en todas las plantillas de proyecto. Este
archivo incluye cdigo para controlar el evento onactivated de WinJS, que se genera
cuando se activa Windows en tiempo de ejecucin. El cdigo en el controlador de eventos
de onactivated comprueba si la aplicacin se inici en la pantalla Inicio de Windows y
llama al mtodo WinJS.UI.processAll. La funcin processAll carga todos los controles
que incluyan el atributo data-win-control en el elemento DIV del control. Este es el cdigo
que contiene la funcin processAll.
JavaScript
Copiar
app.addEventListener("activated", function (args) {
if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.previousExecutionState !==
activation.ApplicationExecutionState.terminated) {
// . . .
} else {
// . . .
}
// . . .
}
args.setPromise(WinJS.UI.processAll().then(function () {
// The code in this section navigates to the current page, if
one
// is set, or the home page if a current page is not set.
// . . .
}));
}
});
Si tienes cdigo que deba ejecutarse cuando la aplicacin configure su estado inicial,
conviene que lo incluyas en el controlador del evento onactivated de WinJS. Puede que
tambin tengas que incluir ms cdigo si la aplicacin se ha reactivado despus de
suspenderse. Agrega este cdigo donde te indiquen los comentarios del cdigo.
JavaScript
Copiar
if (args.detail.previousExecutionState !==
activation.ApplicationExecutionState.terminated) {
// TODO: This application has been newly launched. Initialize
// your application here.
} else {
// TODO: This application has been reactivated from suspension.
// Restore application state here.
}
Tal y como hemos comentado anteriormente, las plantillas carecen de cdigo para controlar
la suspensin de la aplicacin. Para administrar este estado de la aplicacin en tu cdigo,
puedes agregar cdigo al controlador del evento oncheckpoint de WinJS, que se muestra
aqu en default.js, o agregar cdigo para registrar para el evento suspending de Windows
en tiempo de ejecucin (que llama a oncheckpoint).
JavaScript
Copiar
app.oncheckpoint = function (args) {
// TODO: This application is about to be suspended. Save any state
// that needs to persist across suspensions here. If you need to
// complete an asynchronous operation before your application is
// suspended, call args.setPromise().
app.sessionState.history = nav.history;
};
activated
loaded
ready
checkpoint
unload
sessionState
Estilos CSS
La apariencia y comportamiento generales de las plantillas se crean mediante la hoja de
estilo CSS ui-dark.css. Se trata de una hoja de estilo de WinJS en la que se definen la
combinacin de colores principal, las fuentes y otras propiedades de estilo. La referencia
del proyecto se muestra aqu:
HTML
Copiar
<link href="//Microsoft.WinJS.1.0/css/ui-dark.css" rel="stylesheet">
Puedes cambiar esta referencia en todas las pginas HTML por ui-light.css, que es la
alternativa recomendada de combinacin de colores y estilo para las aplicaciones de la
Tienda Windows:
HTML
Copiar
<link href="//Microsoft.WinJS.1.0/css/ui-light.css" rel="stylesheet">
La mayora de las pginas HTML de las plantillas de proyecto Grid y Split emplean una o
ms plantillas de WinJS (que no son las mismas que las plantillas de proyecto de Visual
Studio y elemento) para dar formato a varias instancias de datos y visualizarlas. Por
ejemplo, cada vez que exista un control ListView en una pgina, habr una plantilla de
WinJS con un nombre de clase itemtemplate. Los nombres de clase sirven para recuperar
elementos de los archivos JavaScript y especificar CSS. Esta es la plantilla de elemento que
se encuentra en items.html en la plantilla de proyecto Split:
HTML
Copiar
<div class="itemtemplate" data-win-control="WinJS.Binding.Template">
<div class="item">
<img class="item-image" src="#" data-win-bind="src:
backgroundImage; alt: title" />
<div class="item-overlay">
<h4 class="item-title"
data-win-bind="textContent: title"></h4>
<h6 class="item-subtitle win-type-ellipsis"
data-win-bind="textContent: subtitle"></h6>
</div>
</div>
acoplado, de pantalla completa o lleno. Para obtener ms informacin sobre los estados de
visualizacin en las aplicaciones de la Tienda Windows, consulta Directrices para diseos.
Las plantillas Aplicacin de cuadrcula y Aplicacin dividida controlan el estado de
visualizacin dentro del modelo de navegacin de la plantilla del proyecto. Para obtener
ms informacin, consulta Modelo de navegacin.
Cuando el control de navegacin (PageControlNavigator) carga una pgina, pasa una
ubicacin (un URI de pgina) y un estado, pero tambin informacin sobre el estado de
visualizacin. Primero, en navigator.js, el control de navegacin crea un controlador para el
evento window.onresize.
JavaScript
Copiar
window.onresize = this._resized.bind(this);
}
},
_initializeLayout: function (listView, viewState) {
},
La primera lnea del cdigo en updateLayout obtiene el control ListView a travs del
mtodo querySelector:
JavaScript
Copiar
var listView = element.querySelector(".itemslist").winControl;
El patrn que siguen estos ejemplos de cdigo se usa en las plantillas Split y Grid. La
plantilla Split tambin admite un comportamiento nico en relacin con el estado de
visualizacin. De manera predeterminada, la pgina de vista dividida (split.html) de la
plantilla Split es una vista de dos columnas denominada vista Maestro y detalles. Con la
plantilla Split se define adems otra vista, denominada vista de una sola columna, cuando
el estado de visualizacin es acoplado o vertical. El cdigo que define y controla este
estado de visualizacin est en split.js. La funcin _isSingleColumn define el estado de
visualizacin de una sola columna:
JavaScript
Copiar
_isSingleColumn: function () {
var viewState = Windows.UI.ViewManagement.ApplicationView.value;
return (viewState === appViewState.snapped || viewState ===
appViewState.fullScreenPortrait);
},
utils.addClass(document.querySelector(".articlesection"),
"primarycolumn");