scroll windows-phone-8 webbrowser-control windows-phone scrollviewer

scroll - Teléfono Windows: evite desplazarse por el control del navegador web ubicado dentro del visor de desplazamiento



windows-phone-8 webbrowser-control (2)

Estoy usando un código como este. Adjunte eventos al elemento Border en el árbol de control del navegador (estoy usando Linq para Visual Tree - http://www.scottlogic.co.uk/blog/colin/2010/03/linq-to-visual-tree/ ) .

Browser.Loaded += (s,e)=> { var border = Browser.Descendants<Border>().Last() as Border; if (border != null) { border.ManipulationDelta += BorderManipulationDelta; border.ManipulationCompleted += BorderManipulationCompleted; border.DoubleTap += BorderDoubleTap; } };

Además, la implementación que estoy usando es para evitar el pellizco y el zoom, algo que desea que funcione. Aunque esto debería ayudarte en la dirección correcta.

private void BorderDoubleTap(object sender, GestureEventArgs e) { e.Handled = true; } private void BorderManipulationDelta(object sender, ManipulationDeltaEventArgs e) { // suppress zoom if (Math.Abs(e.DeltaManipulation.Scale.X) > 0.0|| Math.Abs(e.DeltaManipulation.Scale.Y) > 0.0) e.Handled = true; } private void BorderManipulationCompleted(object sender, ManipulationCompletedEventArgs e) { // suppress zoom if (Math.Abs(e.FinalVelocities.ExpansionVelocity.X) > 0.0 || Math.Abs(e.FinalVelocities.ExpansionVelocity.Y) > 0.0) e.Handled = true; }

Tengo que mostrar un navegador web dentro de un visor de desplazamiento en la aplicación de Windows Phone, con estos requisitos:

  1. La altura del navegador web debe ajustarse en función de su contenido .
  2. El desplazamiento del navegador web debe estar desactivado , (cuando el usuario se desplaza dentro del navegador web, debe realizarse el desplazamiento del visualizador de desplazamiento)
  3. El navegador web puede hacer un pellizco y acercarse a los enlaces dentro de su contenido.

    ¿Cómo puedo implementar eso? Cualquier enlace o muestra es muy apreciado.


En la dirección de Mark, utilicé

private void Border_ManipulationDelta(object sender, System.Windows.Input.ManipulationDeltaEventArgs e) { e.Complete(); _browser.IsHitTestVisible = false; }