【问题标题】:How to fit page to Silverlight WebBrowser control?如何使页面适合 Silverlight WebBrowser 控件?
【发布时间】:2011-09-08 14:00:21
【问题描述】:

我使用 WebBrowser Silverlight 4 控件加载一些页面:

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

但页面加载时带有水平和垂直滚动条。所以我试图找到一些方法来获取加载页面的实际大小(然后我可以更改控件的高度/宽度)更改加载页面的比例(以使其适合实际的 WebControl 控件) .是否可以使用标准的 WebControl 方法?

【问题讨论】:

    标签: c# silverlight webbrowser-control


    【解决方案1】:

    Silverlight 中的 Web 浏览器组件是一个由 Silverlight 控件包装的 COM 组件。

    你有两个选择。 1) 让网站在浏览器内部流动,这样它就会随着浏览器缩小。

    或者

    2) 您可以“缩小”网站的唯一方法是设置缩放。这里有一个链接可以通过诱骗鼠标滚轮为您缩放它来做到这一点。

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

    【讨论】:

    • 访问嵌入页面的 DOM 以获取尺寸会很好,但这是受限制的,所以我认为你的方法是最好的解决方法。
    【解决方案2】:

    知道了。 通常你可以使用 ViewBox 来做到这一点,但不幸的是它不适用于 Webbrowser。我想您将不得不等待下一个版本的 Webbrowser :(

    --下面的旧答案:

    我不确定我是否正确理解了您的问题,您希望网络浏览器适合其父容器吗?

    也许像这样使用 Horizo​​ntalContentAlignment 和 VerticalContentAlignment?

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

    你能解释清楚吗?

    干杯

    【讨论】:

    • 感谢您的回答。这不完全是我需要的。所以,细节。例如:我正在尝试使用 Height="600" 和 Width="900" 的 WebBrowser 控件实例打开一些网页。页面正确打开。然后我决定更改 WebBrowser 控件的大小并设置 Height="300" 和 Width="600"。当然,整个页面不能在 WebBrowser 中显示,并且会出现滚动条。所以我正在寻找一种方法来删除这些滚动条(并显示整个页面)。最可取的方式 - 在 WebBrowser 控件中更改网页的比例。
    【解决方案3】:

    您可以通过将 WebBrowser 控件包装到 ViewBox 控件中,然后在 ViewBox 而不是 Web 浏览器上设置 Width 和 Height 来缩小 WebBrowser 控件。您还需要将视图框上的 Stretch 属性设置为 Uniform。

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

    HTH。

    如果这有帮助,请标记为答案。谢谢,

    【讨论】:

      猜你喜欢
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 2011-11-29
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      相关资源
      最近更新 更多