3

特定の .html 内の HTML の部分の高さを計算できるようにする必要がありますWebView。これは、私が構築しようとしているプロジェクトにとって非常に重要です。すぐに可能ではないことはわかっていますが、スクロールバーが WebView に存在するかどうかを判断できたので、ビューが消えるまで高さを上げることができるかもしれません。

これについて何か考えはありますか?または、代替ソリューション/提案はありますか? HTMLAgilityPack (現在は Metro に移植されています) を使用して TextBlock に変換することを検討しましたが、HTML はそのためには複雑すぎます。

4

2 に答える 2

8

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

于 2012-10-08T09:06:47.930 に答える
0

これは良い解決策かもしれませんが、デバイスのピクセル密度にはまだ問題があります。WP でコードを実行すると、変換は次のようになります。

private double PixelsToLogicalPixels(double pixels)
{
     var info=Windows.Graphics.Display.DisplayInformation.GetForCurrentView();
     return pixels / info.RawPixelsPerViewPixel;
}
private double LogicalPixelsToPixels(double pixels)
{
     var info = Windows.Graphics.Display.DisplayInformation.GetForCurrentView();
     return pixels * info.RawPixelsPerViewPixel;
}
于 2016-05-31T19:25:11.317 に答える