2010-07-24 36 views
5

utilizo WebBrowser control de Silverlight 4 para cargar alguna página:¿Cómo adaptar la página al control Silverlight WebBrowser?

<WebBrowser Height="350" Name="webBrowser" Width="400" /> 
... 
webBrowser.Navigate(new Uri("http://mail.live.com")); 

Pero página se carga con barras de desplazamiento horizontal y vertical. Así que estoy tratando de encontrar algunas maneras de obtener el tamaño real de la página cargada (luego puedo cambiar la altura/ancho del control) O cambiar la escala de la página cargada (para que quepa en el control real de WebControl). ¿Es posible hacer con los métodos estándar de WebControl?

Respuesta

5

El componente del navegador web en Silverlight es un componente COM que está envuelto por un control Silverlight.

Tiene dos opciones. 1) Haga que el sitio web fluya dentro del navegador para que se reduzca con el navegador.

O

2) La única manera de que usted podría "reducir" el sitio web sería para ajustar el zoom. Aquí hay un enlace para hacer esto al engañar a la rueda de desplazamiento del mouse para que haga zoom por usted.

http://forums.silverlight.net/forums/p/200177/466986.aspx

+0

Sería bueno acceder al DOM de la página incrustada para obtener las dimensiones, pero eso está restringido, por lo que creo que la suya es la mejor solución. – Keith

0

Te tengo. Por lo general, puede hacerlo utilizando ViewBox, pero desafortunadamente no funciona con Webbrowser. Supongo que tendrá que esperar a la próxima versión de Webbrowser :(

--old responder a continuación:

No estoy seguro de si he entendido correctamente su problema, ¿Quieres que el navegador web para adaptarse a su matriz contenedor?

Tal vez usando HorizontalContentAlignment y VerticalContentAlignment así?

<ScrollViewer HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"> 
    <WebBrowser Name="webBrowser" /> 
</ScrollViewer> 

Podría explicar mejor?

Cheers

+0

Gracias por su respuesta. No es exactamente lo que necesito. Entonces, detalles. Por ejemplo: estoy tratando de abrir una página web con instancia de control WebBrowser con Height = "600" y Width = "900". La página se abre correctamente. Luego decido cambiar el tamaño del control WebBrowser y establecer Height = "300" y Width = "600". Por supuesto, toda la página no puede mostrarse dentro de WebBrowser y aparecen las barras de desplazamiento. SO estoy buscando una manera de eliminar estas barras de desplazamiento (y mostrar toda la página). La forma más preferible: cambiar la escala de la página web dentro del control WebBrowser. –

0

Es posible reducir un control WebBrowser envolviéndolo en un control ViewBox, y luego poner el ancho y alto de la ViewBox en lugar del navegador web. También deberá configurar la propiedad Stretch en la casilla de vista para Uniform.

<ViewBox x:Name="MyViewBox" Width="350" Height="350" Stretch="Uniform"> 
    <WebBrowser x:Name="MyWebBrowser" Source="...." /> 
</ViewBox> 

HTH.

Si esto ayuda, marque como respuesta. Gracias,

Cuestiones relacionadas