C# 如何检测返回按钮单击并使webview返回
我正在尝试使用Xamarin为我的一个项目构建webview应用程序,但我似乎不知道如何使webview元素转到上一页,而不是关闭应用程序 因此,我已经想出了如何检测被按下的后退按钮,并阻止它关闭应用程序,但我想让网页返回,如果网页无法返回,则关闭应用程序 这是我目前的代码:C# 如何检测返回按钮单击并使webview返回,c#,android,xamarin,C#,Android,Xamarin,我正在尝试使用Xamarin为我的一个项目构建webview应用程序,但我似乎不知道如何使webview元素转到上一页,而不是关闭应用程序 因此,我已经想出了如何检测被按下的后退按钮,并阻止它关闭应用程序,但我想让网页返回,如果网页无法返回,则关闭应用程序 这是我目前的代码: using System; using Xamarin.Forms; using Xamarin.Forms.Xaml; using Application = Xamarin.Forms.Application;
using System;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
using Application = Xamarin.Forms.Application;
namespace myNewApp
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public class WebPage : ContentPage
{
public object _browser { get; private set; }
protected override bool OnBackButtonPressed()
{
base.OnBackButtonPressed();
return true;
}
public WebPage()
{
var browser = new Xamarin.Forms.WebView();
browser.Source = "https://myurl.com";
Content = browser;
}
}
}
我尝试了几个答案,发现了这段代码,但它不起作用,因为覆盖无法访问公共网页浏览器变量:
if (browser.CanGoBack)
{
browser.GoBack();
return true;
}
else
{
base.OnBackButtonPressed();
return true;
}
任何帮助都将不胜感激 您需要将
浏览器
设置为类级别变量,以便可以在页面中的任何位置访问它
public class WebPage : ContentPage
{
Xamarin.Forms.Webview browser;
protected override bool OnBackButtonPressed()
{
base.OnBackButtonPressed();
if (browser.CanGoBack)
{
browser.GoBack();
return true;
}
else
{
base.OnBackButtonPressed();
return true;
}
}
public WebPage()
{
browser = new Xamarin.Forms.WebView();
browser.Source = "https://myurl.com";
Content = browser;
}
}
非常感谢:)我知道我在删除var和设置Xamarin.Forms.Webview浏览器时遗漏了一些东西;成功了