2010-07-24 3 views
5

Io uso del browser web Silverlight 4 di controllo per caricare qualche pagina:Come adattare la pagina al controllo WebBrowser di Silverlight?

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

Ma pagina viene caricata con le barre di scorrimento orizzontale e verticale. Quindi sto cercando di trovare alcuni modi per ottenere la dimensione effettiva della pagina caricata (quindi posso modificare Altezza/Larghezza del controllo) OPPURE cambiare la scala della pagina caricata (per adattarla al controllo WebControl effettivo). È possibile fare con i metodi standard di WebControl?

risposta

5

Il componente del browser Web in Silverlight è un componente COM racchiuso da un controllo Silverlight.

Hai due opzioni. 1) Rendere fluido il sito web all'interno del browser in modo che si riduca con il browser.

O

2) L'unico modo che si possa "restringere" il sito web sarebbe impostare lo zoom. C'è un link per farlo qui ingannando la rotellina del mouse per ingrandirla per te.

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

+0

Sarebbe bello accedere al DOM della pagina incorporata per ottenere le dimensioni ma questo è limitato, quindi penso che la tua sia la soluzione migliore. – Keith

0

Hai. Solitamente puoi farlo usando il ViewBox, ma sfortunatamente non funziona con Webbrowser. Credo che si dovrà attendere la prossima versione del browser web :(

--old risposta qui sotto:

non sono sicuro se ho capito il problema in modo corretto, non si desidera che il browser web per adattarsi suo genitore contenitore?

Forse usando HorizontalContentAlignment e VerticalContentAlignment come questo?

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

Potrebbe spiegare meglio?

Cheers

+0

Grazie per la risposta. Non è esattamente quello di cui ho bisogno. Quindi, dettagli. Ad esempio: sto cercando di aprire alcune pagine Web con istanza di controllo WebBrowser con Height = "600" e Width = "900". La pagina si apre correttamente. Quindi decido di cambiare la dimensione del controllo WebBrowser e impostare Height = "300" e Width = "600". Ovviamente l'intera pagina non può essere visualizzata all'interno di WebBrowser e le barre di scorrimento appaiono. Quindi sto cercando un modo per rimuovere queste barre di scorrimento (e visualizzare l'intera pagina). Il modo più preferibile: modificare la scala della pagina Web all'interno del controllo WebBrowser. –

0

è possibile ridurre un controllo WebBrowser avvolgendolo in un controllo Viewbox e quindi impostando la larghezza e l'altezza sul Viewbox al posto del browser web. Sarà inoltre necessario impostare la proprietà Stretch sulla viewbox su Uniform.

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

HTH.

Se questo aiuta, contrassegnare come risposta. Grazie,