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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17086927/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-13 08:59:47  来源:igfitidea点击:

How to remove scrollbars on WebBrowser in WPF

.netwpfc#-4.0

提问by azharmalik3

I am using WebBrowser control in my application like:

我在我的应用程序中使用 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>

I did many tries to remove scrollbar but failed.

我做了很多尝试删除滚动条但失败了。

Please help me.

请帮我。

回答by Nickon

I used this code and worked for me:

我使用了这段代码并对我来说有效:

<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" });
}

[edit]

[编辑]

The point is, you need to set overflow: hidden;in your page css. The code above is doing it.

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

回答by Khoa Nguyen

In case you can modify the web page you want to load, just modify the body tag as below:

如果您可以修改要加载的网页,只需修改 body 标签如下:

<body scroll="no">

It worked for me.

它对我有用。

Follow this link for more details: 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

点击此链接了解更多详情: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

回答by LeffBA

In my case, script from Nickon'sanswer abow, does not work:

就我而言,来自Nickon'sanswer abow 的脚本不起作用:

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

but this works:

但这有效:

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

回答by HackSlash

I used this to change the body string directly:

我用它来直接更改正文字符串:

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