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:
- La altura del navegador web debe ajustarse en función de su contenido .
- 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)
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;
}