Compartir a través de


Ejemplo XBAP Hosting Silverlight

Actualización: Julio de 2008

En este ejemplo se muestra lo siguiente:

  • Cómo hospedar una aplicación basada en Silverlight en una Aplicación del explorador XAML (XBAP).

  • Cómo establecer la comunicación entre la XBAP host y la aplicación hospedada basada en Silverlight.

Download sample

Hospedar una aplicación basada en Silverlight en una XBAP

Las aplicaciones basadas en Silverlight se pueden hospedar en XBAPs utilizando el control WebBrowser. El contenido de un control Page de una XBAP incluye el control WebBrowser cuyo URI de origen identifica la página HTML que hospeda la aplicación basada en Silverlight. La página HTML utiliza el control de complemento Silverlight para hospedar la aplicación basada en Silverlight.

En la imagen siguiente se muestra la arquitectura de alto nivel para hospedar una aplicación basada en Silverlight en una XBAP.

Aplicación de Silverlight hospedada en una aplicación de WPF

Establecer la comunicación desde la aplicación XBAP hasta la aplicación basada en Silverlight

Una XBAP host puede comunicarse con una aplicación hospedada basada en Silverlight mediante métodos de script implementados por la página HTML que hospeda la aplicación basada en Silverlight. Una XBAP llama a los métodos de script mediante el método InvokeScript. A continuación, los métodos de script llaman a los métodos implementados por un objeto de script que se expone desde la aplicación basada en Silverlight y que está disponible para el script en la propiedad Content del control de complemento Silverlight.

En la figura siguiente se muestran tanto la arquitectura de alto nivel para hospedar una aplicación basada en Silverlight en una XBAP como la tecnología clave que se utiliza para propagar las llamadas a métodos desde la XBAP host hasta la aplicación hospedada basada en Silverlight.

Interoperabilidad de WPF con Silverlight

Para llamar a los métodos de script utilizando el control WebBrowser, vea Ejemplo WebBrowser Control. Para obtener más información sobre cómo implementar aplicaciones basadas en Silverlight que exponen objetos de script, vea Walkthrough: Calling Managed Code from JavaScript. Para obtener una introducción al desarrollo de aplicaciones basadas en Silverlight, vea Getting Started with Silverlight.

Establecer la comunicación desde la aplicación basada en Silverlight hasta la XBAP

Una aplicación hospedada basada en Silverlight se puede comunicar con una XBAP host mediante métodos de script implementados por la página HTML que hospeda la aplicación basada en Silverlight. Una aplicación basada en Silverlight llama a los métodos de script utilizando el método Invoke de la clase HtmlWindow (desde el espacio de nombres de Silverlight System.Windows.Browser). Una aplicación basada en Silverlight obtiene una referencia a la ventana (representada por la clase HtmlWindow) desde la propiedad Window de la clase HtmlPage (también en el espacio de nombres System.Windows.Browser). A continuación, los métodos de script llaman a los métodos implementados por un objeto de script que se expone desde la XBAP mediante la propiedad ObjectForScripting y que está disponible para el script en la propiedad external del objeto window expuesto por el explorador host.

En la figura siguiente se muestran tanto la arquitectura de alto nivel para hospedar una aplicación basada en Silverlight en una XBAP como la tecnología clave que se utiliza para propagar las llamadas a métodos desde una aplicación hospedada basada en Silverlight hasta una XBAP.

Interoperabilidad de Silverlight con WPF

Para llamar a los métodos de script desde una aplicación basada en Silverlight, vea Walkthrough: Calling JavaScript from Managed Code. Para obtener más información sobre cómo exponer los objetos de script desde las XBAPs, vea Ejemplo WebBrowser Control y ObjectForScripting.

Configurar el ejemplo

El ejemplo está compuesto de una solución (XBAPHostingSilverlightSample) con dos proyectos:

  1. El proyecto de XBAP (WPFBrowserApplication) que hospeda la aplicación basada en Silverlight.

  2. El proyecto de aplicación basada en Silverlight (SilverlightApplication).

SilverlightApplication se genera después de WPFBrowserApplication e incluye un paso posterior a la compilación que copia la aplicación basada en Silverlight compilada, silverlightspplication.xap, a la carpeta de resultados del proyecto WPFBrowserApplication: \bin\debug.

El ejemplo se debe configurar para ejecutarse en localhost desde un directorio virtual que señala a la carpeta de resultados del proyecto WPFBrowserApplication (\bin\debug) utilizando los pasos siguientes:

  1. En Inicio | Herramientas administrativas, elija Administrador de Internet Information Services (IIS).

  2. Seleccione Sitios web | Sitio web predeterminado.

  3. Haga clic con el botón secundario en Sitio web predeterminado y elija Agregar directorio virtual, a continuación

    1. Establezca Alias en "WPFBrowserApplication".

    2. Establezca Ruta de acceso física en la carpeta de resultados del proyecto WPFBrowserApplication.

  4. Haga clic en Aceptar para crear el directorio virtual.

Ejecutar el ejemplo

Para ejecutar el ejemplo, navegue a la dirección URL siguiente:

https://localhost/WPFBrowserApplication/WPFBrowserApplication.xbap

Procedimientos recomendados

En este ejemplo se muestra una característica específica de Windows Presentation Foundation y, por consiguiente, no se siguen los procedimientos recomendados de desarrollo de aplicaciones. Para obtener la información completa sobre los procedimientos recomendados para el desarrollo de aplicaciones de Windows Presentation Foundation (WPF) y Microsoft .NET Framework, vea la siguiente información según convenga:

Accesibilidad: Procedimientos de accesibilidad recomendados

Localización: Información general sobre la localización y globalización de WPF

Rendimiento: Optimizar WPF: Rendimiento de aplicaciones

Seguridad: Seguridad de Windows Presentation Foundation

Generar el ejemplo

  • Instale el Kit de desarrollo de software de Windows (SDK) y abra la ventana de comandos del entorno de compilación. En el menú Inicio, elija Todos los programas, Microsoft Windows SDK y haga clic en Shell CMD.

  • Descargue el ejemplo, que encontrará en la documentación del kit de desarrollo de software (SDK), al disco duro.

  • Para generar el ejemplo en la ventana de comados del entorno de compilación, vaya al directorio de origen del ejemplo. En el símbolo del sistema, escriba MSBUILD.

  • Para generar el ejemplo en Microsoft Visual Studio, cargue la solución de ejemplo o el archivo del proyecto y presione CTRL+MAYÚS+B.

Ejecutar el ejemplo

  • Para ejecutar el ejemplo compilado en la ventana de comandos del entorno de compilación, ejecute el archivo .exe en la carpeta Bin\Debug o Bin\Release, que se encuentra bajo la carpeta de código fuente de ejemplo.

  • Para ejecutar el ejemplo compilado con depuración en Visual Studio, presione F5.

Vea también

Tareas

Ejemplo WebBrowser Control

Conceptos

Información general sobre navegación

Información general sobre la navegación estructurada

Referencia

WebBrowser

Otros recursos

Getting Started with Silverlight

Walkthrough: Calling Managed Code from JavaScript

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Se ha agregado un ejemplo.

Cambio de características de SP1.