编辑:我将属性更改为隐藏,但它仍然显示。
我已经阅读了这个问题的10种不同变体,所有这些变体似乎都有不同的解决方案,但这些解决方案都不适用于我。
我有一个带有WebBrowser的WPF窗口,如下所示(你可以看到我已经非常彻底地试图确保隐藏垂直滚动条):
<Window x:Class="ZendeskWebApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="460" Width="700" ScrollViewer.VerticalScrollBarVisibility="Hidden">
<Grid ScrollViewer.VerticalScrollBarVisibility="Hidden">
<WebBrowser Name="_browser" ScrollViewer.VerticalScrollBarVisibility="Hidden"/>
</Grid>
</Window>
在我正在加载本地html页面的代码中:
public MainWindow()
{
InitializeComponent();
this._browser.Source = new Uri(new System.IO.FileInfo("AskAQuestion.htm").FullName);
}
这是该页面上唯一的内容:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Ask A Question</title>
</head>
<body>
<div>
<iframe src="http://mysite.zendesk.com/account/dropboxes/123456" width="100%" height="100%" frameborder=0></iframe>
</div>
</body>
</html>
唯一应该显示的滚动条是iframe滚动条,但只要页面在iframe中加载,就会加载垂直滚动条。没有加载页面时,没有滚动条。
为什么会这样?
答案 0 :(得分:0)
您是否在WebBrowser对象上尝试过这种设置组合?
ScrollViewer.CanContentScroll="False"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" />
答案 1 :(得分:0)
这个解决方案对我有用:
XAML:
<WebBrowser Name="MyWebBrowser" LoadCompleted="WebBrowserOnLoadCompleted">
代码隐藏:
private void WebBrowserOnLoadCompleted(object sender, NavigationEventArgs e)
{
HideScrollbars(MyWebBrowser);
}
private void HideScrollbars(WebBrowser wb)
{
const string script = "document.body.style.overflow ='hidden'";
wb.InvokeScript("execScript", new Object[] { script, "JavaScript" });
}