2010-07-24 13 views
5

Ich benutze WebBrowser Silverlight 4 Steuer einig Seite zu laden:Wie wird die Seite an das Silverlight WebBrowser-Steuerelement angepasst?

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

Aber Seite lädt mit horizontalen und vertikalen Bildlaufleisten. So versuche ich, einige Möglichkeiten zu finden, um die tatsächliche Größe der geladenen Seite zu bekommen (dann kann ich Höhe/Breite der Kontrolle ändern) ODER Skalierung der geladenen Seite ändern (um es an die tatsächliche WebControl-Steuerelement anzupassen). Ist es möglich mit Standard WebControl Methoden zu arbeiten?

Antwort

5

Die Webbrowserkomponente in Silverlight ist eine COM-Komponente, die von einem Silverlight-Steuerelement umschlossen wird.

Sie haben zwei Möglichkeiten. 1) Machen Sie die Website im Browser so flüssig, dass sie mit dem Browser verkleinert wird.

Oder

2) Der einzige Weg, die Sie könnten „schrumpfen“ die Website wäre, den Zoom einzustellen. Es gibt einen Link, um dies hier zu tun, indem Sie das Mausrad bewegen, um es für Sie zu vergrößern.

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

+0

Es wäre nett, auf das DOM der eingebetteten Seite zuzugreifen, um die Dimensionen zu erhalten, aber das ist eingeschränkt, also denke ich, dass deins die beste Problemumgehung ist. – Keith

0

Haben Sie. Normalerweise können Sie das mit der ViewBox machen, aber leider nicht mit dem Webbrowser. Ich denke, Sie werden für die nächste Version von Web-Browser warten müssen :(

--old unten beantworten:

Ich bin mir nicht sicher, ob ich das Problem richtig verstanden habe, wollen Sie das Web-Browser wollen seine Eltern passen mit Horizontalcontentalignment und Vertical wie dieser Behälter?

Vielleicht?

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

Könnten Sie besser erklären?

Cheers

+0

Danke für Ihre Antwort. Es ist nicht genau das, was ich brauche. Also, Details. Beispiel: Ich versuche, eine Web-Seite mit einer WebBrowser-Steuerinstanz mit Höhe = "600" und Breite = "900" zu öffnen. Seite öffnet sich korrekt. Dann entscheide ich mich, die Größe des WebBrowser-Steuerelements zu ändern und Höhe = "300" und Breite = "600" festzulegen. Natürlich kann die ganze Seite nicht in WebBrowser angezeigt werden und Bildlaufleisten erscheinen. SO suche ich nach einer Möglichkeit, diese Bildlaufleisten zu entfernen (und ganze Seite anzuzeigen). Am besten zu bevorzugen - ändern Sie die Größe der Webseite im WebBrowser-Steuerelement. –

0

Sie können ein WebBrowser-Steuerelement schrumpfen, indem sie in einem ViewBox Steuer Einwickeln und dann die Breite und Höhe auf dem ViewBox anstelle des Web-Browsers einstellen. Außerdem müssen Sie die Stretch-Eigenschaft in der Viewbox auf Uniform festlegen.

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

HTH.

Wenn dies hilft, bitte als Antwort markieren. Danke,

Verwandte Themen