如何在WPF中删除WebBrowser上的滚动条

时间:2013-06-13 12:19:27

标签: .net wpf c#-4.0

我在我的应用程序中使用WebBrowser控件,如:

<WebBrowser x:Name="wcPlayback" Visibility="Visible" LoadCompleted="wcPlayback_LoadComplete" Margin="0,-4,0,0" Width="960px" Height="619px" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"></WebBrowser>

我尝试删除滚动条但尝试失败。

请帮帮我。

4 个答案:

答案 0 :(得分:8)

如果您可以修改要加载的网页,只需修改正文标记,如下所示:

<body scroll="no">

它对我有用。

请点击此链接了解更多详情: https://social.msdn.microsoft.com/Forums/vstudio/en-US/a64e2247-c726-473e-bed2-12a2b4454ede/how-to-show-hide-scrollbars-in-new-35-sp1-beta-wpf-webbrowser-control?forum=wpf

答案 1 :(得分:7)

我使用此代码并为我工作:

<WebBrowser LoadCompleted="wb_LoadCompleted"></WebBrowser>           

void wb_LoadCompleted(object sender, NavigationEventArgs e)
{
    string script = "document.body.style.overflow ='hidden'";
    WebBrowser wb = (WebBrowser)sender;
    wb.InvokeScript("execScript", new Object[] { script, "JavaScript" });
}

<强> [编辑]

关键是,您需要在页面css中设置overflow: hidden;。上面的代码就是这样做的。

答案 2 :(得分:2)

就我而言,来自Nickon的答案的脚本不起作用:

string script = "document.body.style.overflow ='hidden'" // Does not work;

但这有效:

string script = "document.documentElement.style.overflow ='hidden'" //Work for me;

答案 3 :(得分:0)

我用它来直接更改主体字符串:

wcPlayback.Document.Body.scroll = "no";