Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WinRt WebView control handling navigation within the control

I have a Metro app using a WebView control. I'm using NavigateToString to load a html file which may contain hyperlinks. What I then want to do is detect when one of these hyperlinks is selected and, instead of allowing navigation within the WebView control, to launch IE and view the page there instead.

Is this possible within the WinRT constraints, and if so, how?

So far, I've tried capturing the WebView_LoadCompleted() event, but although it does fire at the right time, I can't see any details about the URI from the NavigationEventArgs.

like image 455
Paul Michaels Avatar asked Jul 30 '12 17:07

Paul Michaels


People also ask

What is a WebView control?

A WebView is just the browser engine part that you can insert sort of like an iframe into your native app and programmatically tell it what web content to load. Putting all of this together and connecting some dots, a WebView is just a visual component/control/widget/etc.

What is WebView in C#?

The WebView control shows web content in your Windows Forms or WPF desktop application. This is one of several wrapped Universal Windows Platform controls that are available for Windows Forms and WPF applications. For more information, see UWP controls in desktop applications.


1 Answers

Unfortunately this isn't possible directly because WebView does not include events like Navigating (which were present in Windows Phone).

Luckily Nick Randolph (brilliant Windows Phone and Windows 8 developer) has created a workaround using script events. He's got a great write up on his blog:

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

like image 178
Jared Bienz - MSFT Avatar answered Sep 21 '22 11:09

Jared Bienz - MSFT