c# - 在 XAML 中通过滚动检测 WebView 高度

标签 c# xaml webview windows-8 microsoft-metro

我真的需要能够计算出一段 HTML 在给定的 WebView 中有多高。这对我要构建的项目非常重要。我知道这不是立即可行的,但我可以确定 WebView 上是否存在滚动条我可以增加 View 的高度直到它消失。

对此有什么想法吗?或者任何替代解决方案/建议?我考虑使用 HTMLAgilityPack(现在为 ported to Metro)将其转换为 TextBlock,但 HTML 太复杂了。

最佳答案

如果您可以控制 HTML,请添加此 javascript:

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

(来自 http://james.padolsey.com/javascript/get-document-height-cross-browser/)

并调用它而不是 alert:

window.external.notify(getDocHeight());

然后实现ScriptNotify事件:

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.webview.scriptnotify.aspx

关于c# - 在 XAML 中通过滚动检测 WebView 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12727041/

相关文章:

javascript - 在 Flutter Webview 中运行一些 Javascript

c# - 在 C# 中是否有更好的方法将 DateTime 舍入到最接近的 5 秒?

c# - UWP: MapControl 透明背景

xaml - Windows 应用商店应用透明背景

c# - 资源字典中的事件触发函数

android - 在 Android 模拟器上,尝试加载 webview 我得到 net::err_cache_miss

android - Webview - 窗口已经聚焦,忽略了焦点增益

c# - 新添加成员后反序列化类时出现问题

c# - JSON 列表转换器 C#

c# - 数据库问题 - 外键始终为空 (T-SQL)