JavaScript を介して WebBrowser コントロールで画像の位置を検出できます。
function fetchImagePosition()
{
var rect = document.getElementByIdimageId").getBoundingClientRect();
window.external.Notify(rect.left + ',' + rect.top + ',' + rect.right + ',' + rect.bottom);
}
また、上記のスクリプト実行を HTML に追加してロードします。
window.onload = function ()
{
var elem = document.getElementById('content');
window.external.Notify(elem.scrollHeight + ''); fetchLinkPosition();}
WebBrowser
JavaScript を実行できるようにしますIsScriptEnabled=true
。ハンドラーを WebBrowserScriptNotify
イベントに追加して、画像の位置をキャッチし、それをローカル フィールドに保存します。
private void BrowserScriptNotify(object sender, NotifyEventArgs e)
{
var rectBoundaries = e.Value.Split(',').Select(double.Parse).ToArray();
var rectHeight = rectBoundaries[3] - rectBoundaries[1];
var rectWidth = rectBoundaries[2] - rectBoundaries[0];
_imageRect= new Rect(rectBoundaries[0], rectBoundaries[1], rectWidth, rectHeight);
}
Tap
イベント ハンドラーを に追加しますLayoutRoot
。
private void LayoutRootTap(object sender, System.Windows.Input.GestureEventArgs e)
{
var point = e.GetPosition(Browser);
if (_imageRect.Contains(point))
{
NavigationService.Navigate("YourPageUri");
}
}