如何更改WinRT WebView的缩放级别?

如何更改WinRT
Webview的缩放级别?

如果我给它焦点,我可以使用键盘CTRL和CTRL放大/缩小 –
但这可以通过代码实现吗?

注意:将WebView放在ScrollViewer中,让缩放,不是我想要的.

最佳答案 不幸的是,我认为没有办法直接在托管代码中执行此操作.但是,如果您拥有内容或者可以注入一些css /脚本,则有一种解决方法.

在您的HTML中,添加此css:

<style type="text/css">
body
{
zoom:100%;
}
</style>

在你的HTML中还包括一个这样的脚本块:

function setZoomLevel(newZoom) {
    document.styleSheets[0]['rules'][0].style['zoom'] = newZoom;
}

在您的C#代码中,添加一个帮助方法:

private void SetZoomLevel(int level)
{
    string slevel = string.Format("{0}%", level);
    webBrowser.InvokeScript("setZoomLevel", slevel);
}

在C#代码中,您现在可以通过调用以下内容来调整缩放级别:

SetZoomLevel(200);

这是我能找到的最好的,不幸的是,如果你不能注入一个样式和一些脚本它就行不通.

注意:虽然这确实缩放内容的方式与调整缩放滑块非常相似,但桌面浏览器中的缩放滑块不受影响.因此,如果你调用SetZoomLevel(200);上面然后将滑块设置为200%,你实际上会看到400%.这应该不是WebView中的问题,因为没有滑块.

希望有人能提出更好的答案.

点赞