如果包含在tabcontrol中,则webbrowser控件的滚动条无法正常工作

时间:2011-08-28 05:14:08

标签: wpf xaml

我有一个使用webbrowser控件的程序。当在主网格中包含如下内容时:

<grid>
<WebBrowser x:Name="webBrowser" .../>
</grid>

滚动条就像它们应该的那样工作,它会走到页面的极端。

然而,如果我想将webbrowser控件放在tabcontrol中,比如因为我想要一个标签式浏览器,使用这样的代码

<grid>
<tabcontrol ...>
<tabitem ... >
<grid....>
<webBrowser x:Name="webBrowser1"  />
</grid>
</tabitem>
</grid>

webbrowser控件的滚动条不会滚动到页面的末尾,而是从水平和垂直方向的末端停止大约10%。

有没有办法让s tabbed browsercontrol不会截断页面?

这是更详细的代码

<tabcontrol Height="500" HorizontalAlignment="Left" Margin="0,272,0,0" Name="tabControl1" VerticalAlignment="Top" Width=1000>
<Tabitem Header="FlexWebApp" Name="FWA" scrollViewer.VerticalSchollBarVisibility="Auto">
<grid Schrollviewer.VerticalScrollbarvisibility="hidden" name="FWAGrid>
<WebBrowser Name="WFWA" Source="pathToApplication"/>
</Grid>
</TabItem>
<TabItem header= AnalyseFWA Name="AFWA ...>

<Tabitem Header="SLWebApp" Name="SLA" scrollViewer.VerticalSchollBarVisibility="Auto">
<grid Schrollviewer.VerticalScrollbarvisibility="hidden" name="SLAGrid>
<WebBrowser Name="WSLA" Source="pathToApplication"/>
<TabItem header= AnalyseSLA Name="ASLA ...>
</Grid>
</TabItem>

因此,如果不明显将webbrowsers定向到一个silverlight应用程序和一个flex应用程序,则两个应用程序都会被截断。实际上,在这两种情况下,尽管存在隐藏属性,但是包含应用程序滚动条的网格始终可见。

在常规浏览器上不会发生截断。 可能是应用程序误报了它的大小?

1 个答案:

答案 0 :(得分:0)

你可以发布更多的XAML吗?

我无法复制您的问题。我在Visual Studio 2010中创建了一个新的WPF应用程序项目并仅更改了XAML,我没有遇到此问题。

<Window x:Class="TestBrowser.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TabControl>
            <TabItem Header="Rhyous.com">
                <Grid>
                    <WebBrowser x:Name="WebBrowser" Source="http://www.rhyous.com"/>
                </Grid>
            </TabItem>
        </TabControl>
    </Grid>
</Window>

显示整个网页。

所以我的猜测是,如果你创建一个示例项目,你会看到相同的。然后,您可以开始将实际项目中的内容添加到样本中,直到找到真正破坏它的内容为止。

相关问题