6

Tengo una aplicación de Metro que usa un control WebView. Estoy usando NavigateToString para cargar un archivo html que puede contener hipervínculos. Lo que quiero hacer es detectar cuándo se selecciona uno de estos hipervínculos y, en lugar de permitir la navegación dentro del control WebView, iniciar IE y ver la página allí.WinRt control WebView manejo de navegación dentro del control

Esto es posible dentro de las restricciones de WinRT, y si es así, ¿cómo?

Hasta ahora, he intentado capturar el evento WebView_LoadCompleted(), pero aunque se dispara en el momento adecuado, no puedo ver ningún detalle sobre el URI del NavigationEventArgs.

+0

Tal vez podría conectar los eventos de JavaScript en el DOM HTML y transmitirlas fuera del control. –

Respuesta

5

Desafortunadamente, esto no es posible directamente porque WebView no incluye eventos como Navegación (que estaban presentes en Windows Phone).

Afortunadamente, Nick Randolph (brillante desarrollador de Windows Phone y Windows 8) ha creado una solución utilizando eventos de scripts. Él tiene una gran escritura para arriba en su blog:

http://nicksnettravels.builttoroam.com/post/2012/04/21/Limitations-of-the-WebView-in-Windows-8-Metro-Apps.aspx

+0

Esto funcionó de manera excelente: gracias –

+1

¿Puedes explicar cómo funcionó esto, porque la publicación del blog dice "desafortunadamente no parece haber una manera de extraer la URL de destino ..." y esto significa que no hay forma de usar ese código navegar usando IE en lugar del control WebView. Si logró detectar el evento de navegación y abrir el URI de destino en IE, ¿puede publicar algún código? –

Cuestiones relacionadas