private void OnNavigationRequest(object sender, NavigatingCancelEventArgs e) { if (!(WebBrowser.Document is HTMLDocument document)) { return; } OnNavigating?.Invoke(document); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetTheme(Android.Resource.Style.ThemeDeviceDefaultDialogNoActionBar); BrowserView = new WebView(this); var client = new BrowserViewClient(d => OnNavigating?.Invoke(d)); BrowserView.Settings.UserAgentString = UserAgentString; BrowserView.Settings.JavaScriptEnabled = true; BrowserView.SetWebViewClient(client); SetContentView(BrowserView); var startUri = Intent.GetStringExtra(AuthorizationUriAcquirer.IntentStartUriKey); BrowserView.LoadUrl(startUri); }
private BeforeRouterResult Navigate(RouteContext to) { var routingEventArgs = new RoutingEventArgs(to, Route, _ViewModel); OnNavigating?.Invoke(this, routingEventArgs); if (routingEventArgs.Cancel) { _CurrentNavigations.Dequeue(); to.Complete(); return(new BeforeRouterResult(false)); } var redirect = routingEventArgs.RedirectedTo; if (string.IsNullOrEmpty(redirect)) { _ViewModel = to.ViewModel; return(new BeforeRouterResult(null)); } to.Redirect(redirect, GetViewModelFromRoute(redirect)); return(new BeforeRouterResult(redirect)); }
public WebViewController(string startUri) { StartUri = startUri; WebViewDelegate = new NavDelegate(d => OnNavigating?.Invoke(d)); }