Esta crónica ha sido probado por nuestros especialistas para asegurar la veracidad de este tutorial.
Solución:
Edita tu código así. Primero envuelve tu MainPage
en un NavigationPage
para que la barra de herramientas sea visible.
Básicamente se trata de crear una variable para poder acceder a su WebView
más fácil.
Entonces crea un botón en ti ToolbarItems
colección que puede desencadenar un evento. Y en ese caso puedes llamar a los ya disponibles GoBack()
método en el WebView
.
Probablemente desee consultar la documentación de Xamarin en el WebView
probablemente sea una buena idea comprobar si lata en realidad volver con el CanGoBack
propiedad.
Tenga en cuenta que he asignado un BackIcon.png
puedes reemplazarlo con null
o su propio icono, por supuesto. Además, el código no ha sido probado, esto está fuera de mi cabeza, por lo que tal vez falten algunos puntos y comas o cosas así.
aplicación.cs
// ... other code
public App()
// The root page of your application
MainPage = new NavigationPage(new WebPage());
// ... other code
WebPage.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using Xamarin.Forms;
namespace DisplayWebPage
public class WebPage : ContentPage
private WebView _webView;
public WebPage()
// Assign a WebView to a global variable
_webView = new WebView
Source = "http://www.google.com"
;
// Create toolbar items here
ToolbarItems.Add(new ToolbarItem("Back", "BackIcon.png", () => _webview.GoBack(); ));
Content = new StackLayout
Children = _webView
;
La respuesta de Gerald Versluis es genial. En base a eso, me gustaría compartir cómo se ve mi código después de intentar resolver los siguientes problemas:
- Intenté implementar la barra de herramientas y la vista web en XAML (usando VS2017)
- Ocultar la barra de herramientas cuando se muestra la página principal (no es necesario volver)
- Anular el botón Atrás del dispositivo
Aplicación.xaml.cs
// ... using, namespace etc
public partial class App : Application
public App()
InitializeComponent();
MainPage = new NavigationPage(new MainPage());
// ...
Página principal.xaml
MainPage.xaml.cs
using System;
using Xamarin.Forms;
namespace MyApp
public partial class MainPage : ContentPage
string Url;
public MainPage()
InitializeComponent();
browser.Source = Url = GetUrl();
void OnBack(object sender, EventArgs args)
browser.GoBack();
protected override bool OnBackButtonPressed()
if (browser.CanGoBack)
browser.GoBack();
return true;
else return base.OnBackButtonPressed();
void OnNavigating(object sender, WebNavigatingEventArgs args)
// Checking if we are at the home page url
// browser.CanGoBack does not seem to be working (not updating in time)
NavigationPage.SetHasNavigationBar(this, args.Url != Url);
string GetUrl()
// Possibly some mechanism to accomoddate for several locales
return "...";
Al final de la post puedes encontrar las críticas de otros programadores, tú asimismo tienes el poder dejar el tuyo si dominas el tema.