Un viaje sobre lenguajes, APIs y otras cosas raras en el mundo del desarrollo de sistemas.

De Pages y Windows


Cuando uno escribe una aplicación general suele bricar de una "pantalla" a otra de acuerdo con las decisiones de los usuarios, generalmente los diseños que se dan para resolver este tipo de situaciones varía muchísimo desde las ventanas abiertas de manera modal (es decir que no permiten regresar a la anterior), hasta verdaderos engendros.
Para nuestro caso y hablando de WCF podemos ver que en general podemos tener varias opciones para nuestros programas, como lo posteaba desde hace bastante unas posibles son Window, NavigationWindow y en su caso Pages. Para poder generar XBAPs necesitaremos los Pages, pero ¿qué es cada una de estas opciones?
Cuando usamos Window estamos usando una ventana normal del sistema operativo, estos objetos no pueden ser utilizados en confianza parcial (XBAP), por lo que baste decir que un Window puede tener cualquier contenedor en su interior, ya sea Border, Panel, StackPanel, Grid, permitirá realizar ventanas que permitan redimensionarse, que tengan botón de minimizar, maximizar y cerrarse o ninguno de ellos.
NavigationWindow es similar a Window pero provee controles de navegación (flechas de hacia adelante y hacia atrás) y su contenido son Pages. Estas pueden usarse en ambientes de confianza total para correr como stand alone un programa XBAP.
Así pues llegamos a los Pages que son las ventanas para los pobres… representan el área a explotar para el applet dentro de nuestra página de internet (generalmente encontraremos lo XBAPs dentro de algún Iframe que los contenga y ese DIV definirá el espacio utilizable de nuestro Page).
Tanto NavigationWindow como Page tienen un atributo llamado "NavigationService" que sirve para ir mostrando una u otra Page de acuerdo se requiera, por ejemplo:
VentanaInicial ventanaInicial = new VentanaInicial();
this.NavigationService.Navigate(ventanaInicial);

este código lo que hará será dirigirnos dentro de nuestra ventana de navegación a una nueva Page de tipo VentanaInicial, guradando en la historia de la ventana de navegación la ventana actual en caso de que se utilice la función GoBack().
En el ambiente de confianza parcial no se permite abrir nuevas ventanas, lo cual nos deja con muchos problemas al momento de hacer ventanas emergentes que recaben datos.
En el próximo Post veremos como generar nuestras propias ventanas emergentes en WPF de modo de salvaguardar este escollo.
Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: