In Part 1 we created WinUI 3 in Desktop sample project. Now we will add Stop, Reload, Go Back, Go Forward and Inspect possibilities.
To keep our sample simple, let's add just a bunch of buttons on the left side of the window:
Great, now let's just add button handlers, starting for Stop:
private void stopButton_Click(object sender, RoutedEventArgs e) { webView.CoreWebView2.Stop(); }
Notice CoreWebView2 property, this underlying object exposes more properties and methods than WebView2 itself. So we will often need to use it. Before using it, you should check it is already initialized by calling EnsureCoreWebView2Async().
Now let's look how we can reload the web page:
private void reloadButton_Click(object sender, RoutedEventArgs e) { webView.Reload(); }
If you press on a link, then you may need to return back to the previous page. This is how it can be done programmatically:
private void backButton_Click(object sender, RoutedEventArgs e) { if (webView.CanGoBack) { webView.GoBack(); } }
After you've gone back, you may need to return forward:
private void forwardButton_Click(object sender, RoutedEventArgs e) { if (webView.CanGoForward) { webView.GoForward(); } }
If you have some errors on your page or in your code, it may be very useful to open Dev Tools Chromium window:
private void inspectButton_Click(object sender, RoutedEventArgs e) { webView.CoreWebView2.OpenDevToolsWindow(); }
This is how Inspect/Dev Tools window will look like:
In Part 3 we will discuss how you can remove context menu and default script dialogs from WebView2. Also we will talk about creating new windows.
No comments:
Post a Comment