domingo, 12 de febrero de 2012

Framework navegación – Conceptos Avanzados

 

Interface INavigationContentLoader

Con la llegada de Silverlight 4 no solo podemos navegar a URIS que representan páginas XAML.

Ahora, el URI puede representar cualquier cosa: una clase, un servicio web que proporciona un contenido dinámico o un archivo XAML contenido en un XAP remoto. Para esto, es necesario implementar la interface INavigationContentLoader.

Marcadores

Silverlight no tiene un soporte inherente que permita marcadores del estado de la aplicación. Es decir, supóngase una aplicación de tipo Wizard, donde la información debe ser capturada por pasos, si por accidente se le da refrescar a la página; la información se perdería y, por tanto, el usuario tendría que empezar de nuevo. Además, de ser muy largo el proceso que se esté realizando, no se podría dejar inconcluso el trabajo , para continuar después.

La buena noticia es que podemos comunicarnos desde nuestra aplicación Silverlight con la página que la hostea, para brindar este soporte.

La forma de hacerlo, es por medio de la instrucción:

HtmlPage.Window.CurrentBookmark

Si deseas conocer más acerca de estos conceptos avanzados visita:

INavigationContentLoader

http://msdn.microsoft.com/es-es/library/system.windows.navigation.inavigationcontentloader(v=vs.95).aspx

CurrentBookmark

http://msdn.microsoft.com/es-es/library/system.windows.browser.htmlwindow.navigatetobookmark(v=vs.95).aspx

 

Explicación de conceptos avanzados del Framework de Navegación

Si tienen comentarios, sugerencias o preguntas. Favor, realizarlas, estaré atento para colaborarles en lo que pueda.

domingo, 5 de febrero de 2012

Framework navegación – Conceptos Básicos

 

El Framework de navegación nos permite:

  • Implementar de forma fácil la navegación entre los objetos Page que ahora tenemos disponibles en Silverligt.
  • Interactuar con el historial del navegador.
  • Mapear los URI asociados a las páginas por:
    • Otros menos complejos y más amigables, para facilidad del usuario.
    • Otros menos reveladores de la estructura de archivos del sitio, facilitando así el manejo de seguridad en este aspecto.

Con la introducción en Silverlight del Framework de navegación, se agregó, en Visual Studio, la plantilla Silverlight Navigation Application que nos permite crear una aplicación que posee un diseño básico, el cuál podemos personalizar y extender, para implementar nuestra propia aplicación que posea navegación.

No obstante, los elementos Page, los podemos crear, en cualquier momento, en nuestra aplicación Silverlight sin importar si ésta fue creada o no con la plantilla de navegación.

Si deseas conocer más información acerca del Framework de navegación, visita:

http://msdn.microsoft.com/es-es/library/cc838245(v=VS.95).aspx

 

Explicación de los conceptos básicos del Framework de Navegación

Si tienen comentarios, sugerencias o preguntas. Favor, realizarlas, estaré atento para colaborarles en lo que pueda.

Creando User y Custom Controls – Custom Controls

 

Los Custom Controls son controles débilmente acoplados generalmente definidos en una clase, la cual deriva de un control existente y extiende su funcionalidad de una forma diferente.

Aunque el Custom Control es definido dentro de una clase, su interfaz de usuario es definida en un archivo aparte asociado al diccionario de recursos. Esto vuelve su implementación un tanto más compleja.

La ventaja de implementarlos es que se pueden reutilizar en diferentes proyectos. Ya que sólo es referenciar el assembly donde se encuentran definidos.

Si deseas conocer más información acerca de ellos, visita:

http://msdn.microsoft.com/es-es/library/cc278068(v=VS.95).aspx

 

Nota:

Los User Controls que creamos en una aplicación Silverligth están limitados a dicha aplicación y una vez desplegada, estos no se pueden cambiar; a menos que se vuelva a realizar el despliegue de la misma luego de compilarla y generar de nuevo su assembly. Sin embargo, es posible definir los User Controls en un ensamblado .dll al igual que los Custom Controls y en dicho caso como los CustomControls:

1. Tienen la flexibilidad de poderlos modificar y utilizar su nueva versión en una aplicación ya desplegada sólo actualizando el assembly en el archivo xap de la aplicación.

2. Se pueden utilizar en múltiples aplicaciones.

Si tienen comentarios, sugerencias o preguntas. Favor, realizarlas, estaré atento para colaborarles en lo que pueda.

Creando User y Custom Controls – User Controls

Los controles de usuario o UserControls son controles creados en base a otros existentes y que permiten su reutilización más de una vez en la misma aplicación.

Los controles de usuario son los elementos que normalmente diseñamos y que constituyen nuestra aplicación Silverligth. Para el caso, en que se requiera navegación usamos los elementos Page, que pueden a su vez estar conformados por controles de usuario.

Son útiles en escenarios en los que se desea dividir la complejidad en el diseño de una página (o Control de usuario principal) y ver la página como la suma de varias partes que pueden ser diseñadas independientemente y que a su vez pueden ser reutilizadas en otras páginas.

Si deseas conocer más información acerca de ellos, visita:

http://msdn.microsoft.com/es-es/library/system.windows.controls.usercontrol(v=vs.95).aspx

 

Explicación de los User Control

Nota:

Los User Controls que creamos en una aplicación Silverligth están limitados a dicha aplicación. Es decir, no se pueden reutilizar en otras aplicaciones. Sin embargo, es posible definir los User Controls en un ensamblado .dll y en dicho caso, sí es posible reutilizarlos en otras aplicaciones.

 

Si tienen comentarios, sugerencias o preguntas. Favor, realizarlas, estaré atento para colaborarles en lo que pueda.

Implementando y configurando controles Core – Referenciando espacios de nombre

Normalmente, usamos el referenciado de espacios de nombre para poder hacer uso en el XAML de controles, cuya información se encuentra en un determinado espacio de nombres dentro del mismo assemby de la aplicación u otro.

Cuando los controles se encuentran en el mismo assebly de la aplicación, se usa la sintaxis:

xmlns:PREFIJO="clr-namespace:ESPACIONOMBRES“

Ejemplo:

xmlns:conv="clr-namespace:PruebaSilverlight.Converters“

En este caso, se pueden usar los controles definidos en el espacio de nombres PruebaSilverlight.Converters en una página definida en otro espacio de nombres de la misma aplicación.

Cuando los controles a usar se encuentran en un assembly diferente al de la aplicación, se usa la sintaxis:

xmlns:PREFIJO="clr-namespace::ESPACIONOMBRES;assembly=NOMBREASSEMBY“

Ejemplo:

xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"

En Silverligth, también, tenemos la posibilidad de asociar a un espacio de nombres la información de otros (es decir, como combinarlos), para, de esta forma, referenciar sólo un espacio de nombres y lograr un código XAML más limpio.

Esto se logra, realizando una pequeña codificación en el archivo AssemblyInfo.cs de la carpeta Properties y se usan para ello los atributos XmlnsPrefix y XmlnsDefinition.

Si deseas conocer más información acerca del referenciado de espacios de nombre, visita:

http://msdn.microsoft.com/es-es/library/cc189061(v=vs.95).aspx

 

Explicación sobre el referenciado de espacios de nombre

Si tienen comentarios, sugerencias o preguntas. Favor, realizarlas, estaré atento para colaborarles en lo que pueda.