2010-10-03 7 views

Respuesta

6

tratar este enlace para empezar: http://www.wintellect.com/CS/blogs/jprosise/archive/2009/12/22/silverlight-4-s-new-html-hosting-support.aspx

Aquí está la parte pertinente:

Otra de las nuevas capacidades que Silverlight 4 trae a la plataforma es la capacidad de alojar contenido HTML dentro de un Silverlight control. Este soporte no está limitado a contenido HTML estático; el contenido de puede ser interactivo y puede incluir secuencias de comandos. Incluso puede ser contenido Flash o contenido que incluye otros controles de Silverlight.

Para alojar contenido HTML en Silverlight, puede usar un control WebBrowser o un HtmlBrush. Una forma de mostrar contenido HTML es para encender un control WebBrowser y el punto a una URL:

<WebBrowser x:Name="WebBrowserControl" Source="http://www.bing.com" /> 

Otra manera de hacerlo es llamar NavigateToString y pasar una cadena de contenido al control WebBrowser:

WebBrowserControl.NavigateToString("<h1>Hello, Silverlight</h1>"); 

alojamiento HTML no está disponible para aplicaciones en el navegador (que se aplica a aplicaciones fuera del navegador solamente), y si un OOB carece de permisos elevados , solo puede mostrar contenido que proviene del mismo dominio que la aplicación Silverlight. Sin embargo, se puede usar un poco de truco para mostrar contenido entre dominios en oobs que se ejecutan sin elevados permisos de pasar simplemente un IFRAME la orientación del mando a distancia contenido a NavigateToString:

WebBrowserControl.NavigateToString("<iframe src=\"http://www.bing.com\" style=\"width: 100%; height: 100%\"></iframe>"); 

Puede hacer Contenido HTML con HtmlBrush, también. El siguiente fragmento de código XAML pinta un rectángulo con el contenido recuperado de Bing:

<WebBrowser x:Name="WebBrowserControl" Source="http://www.bing.com" /> 
<Rectangle> 
    <Rectangle.Fill> 
    <HtmlBrush SourceName="WebBrowserControl" /> 
    </Rectangle.Fill> 
</Rectangle> 

Una diferencia entre WebBrowser y HtmlBrush es que el primero pantallas "en vivo" el contenido, mientras que el segundo no. Otra diferencia es que HtmlBrush puede tener transformadas aplicadas, mientras que WebBrowser no puede. Para obtener efectos visuales llamativos que involucren contenido HTML como el rompecabezas HTML demoed en el PDC, probablemente se encuentre utilizando HtmlBrush. Para mostrar contenido vivo e interactivo, encontrará WebBrowser más útil en su lugar.

Una de las mejores cosas sobre el control WebBrowser es que puede usar su método InvokeScript para llamar a las funciones de JavaScript en el contenido alojado por el control.Por el contrario, JavaScript alojado dentro de un control WebBrowser puede usar window.external.Notify para generar eventos ScriptNotify que pueden manejarse en C#.

2

Puede usar el control HtmlBrush o webbrowser.

Cuestiones relacionadas