Compararemos las formas de mostrar un indicador de progreso en Windows Phone “Mango” y 7.0 y la forma correcta de cargar nuestras páginas cuando se inicia la aplicación
1. 12/07/2011
Carga inicial Windows Phone 7.0
Aplicaciones lentas en la carga
Imagen estática en Splash Screen
Render a 16 bit de color
1. Sobrescribir la imagen
SplashScreenImage.jpg
con la nuestra
2. Tener en cuenta que el
tamaño es de 480x800
Animated SplashScreen en WP7.0 Acceso a la pila de páginas
La pila de páginas es el historial de navegación de la
aplicación.
Cada entrada una instancia distinta de la página
PILA
1
2. 12/07/2011
Acceso a la pila de páginas Mejoras en PhoneApplicationFrame
NavigationService incluye nuevas funcionalidades Nuevos miembros en la clase
BackStack RemoveBackEntry()
Lista de entradas en la pila de navegación de la página JournalEntryRemoved
RemoveBackEntry() BackStack
Elimina la última entrada de la pila de páginas.
InvalidOperationException indica que no hay entradas
Invocarlo desde el hilo de la UI. Acceso al evento BackKeyPress desde la clase
JournalEntryRemoved PhoneApplicationFrame
Evento que se lanza durante la operación RemoveBackEntry o la Permite capturar y gestionar las pulsaciones a la tecla Atrás
navegación normal hacia atrás.
La propiedad Entry de JournalEntryRemovedEventArgs
almacena la entrada que se va a aliminar
Mejoras en PhoneApplicationPage Mejoras en PhoneApplicationPage
Nuevo método Nueva clase JournalEntry
OnRemovedFromJournal(JournalEntryRemovedE Representa una entrada en el historial de navegación
ventArgs) La propiedad Source permite conocer la URI a la que se va a
Notifica a la página de que va a ser eliminada de la pila, por lo navegar.
que ya puede liberar recursos. Sólo lectura
Diseñado para eliminar y liberar código de la página
No utilizar esté método para
Guardar datos / Realizar animaciones / Cargar y guardar estado de la página
¡¡¡ Realizarlo en los eventos de navegación !!!
¿Cuándo se llama ?
Después de RemoveBackEntry()
Después de OnNavigatedFrom(NavigationEventArgs)
2
3. 12/07/2011
Indicadores de progreso,
SystemTray, o la barra de estado
ProgressIndicator
Nuevas características de SystemTray en Indica el estado de progreso de una operación.
PhoneApplicationPage ProgressIndicator es una propiedad de SystemTray
BackgroundColor Para ocultarlo, se oculta SystemTray
Permite cambiar el color de fondo
Propiedades
ForegroundColor
IsVisible activa o desactiva el indicador de progreso
Permite cambiar el color del texto
Text representa un texto informativo del estado de carga
Opacity
Permite cambiar la opacidad del control Value es el valor indicador del progreso de 0 a 1
ProgressIndicator IsIndeterminate si es true, la barra de progreso muestra un
patrón repetitivo para indicar un progreso genérico. En este
Permite mostrar el estado de progreso de una operación
caso, se ignora la propiedad Value
Indicadores de progreso, Indicadores de progreso,
ProgressIndicator ProgressIndicator
Ejemplo de uso Enlazado a datos
var prog = SystemTray.ProgressIndicator; Como SystemTray es un DependencyObject
SystemTray.SetIsVisible(this, true); puede enlazarse a datos
SystemTray.SetOpacity(this, 0.5);
SystemTray.SetBackgroundColor(this, Colors.Purple); IsIndeterminate = true
SystemTray.SetForegroundColor(this, Colors.Yellow);
prog = new ProgressIndicator();
prog.IsVisible = true; IsIndeterminate = false
prog.IsIndeterminate = true;
prog.Text = “Cargando...";
SystemTray.SetProgressIndicator(this, prog);
3
4. 12/07/2011
Recursos
Centro de desarrollo de WP7 en MSDN
http://msdn.microsoft.com/es-es/windowsphone/default.aspx
AppHub
http://create.msdn.com/
Windows Phone Developer Blog
http://windowsteamblog.com/windows_phone/b/wpdev
MobileNUG
http://www.mobilenug.es
Forums
http://forums.create.msdn.com/forums/
4