- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Xamarin.Forms 的新手,所以如果我使用的词不正确,请原谅。为了创建一个简单的移动浏览器,我创建了一个名为“WebBrowser”的解决方案;目前我正在处理通用文件 MainPage.xaml 和 MainPage.xaml.cs,我正在 Android 5.1< 上测试代码/strong> 智能手机。我使用 Microsoft Visual Studio 2017 15.5.4。
在 MainPage.xaml 中,我指定了以下代码
<Button Text="Back"
x:Name="backButton"
IsEnabled="False"
Clicked="previousPage"/>
<Button Text="Next"
x:Name="nextButton"
IsEnabled="False"
Clicked="nextPage"/>
<WebView x:Name="appWebView"
Source="https://www.google.com/"
Navigating="onLoadingPage"
Navigated="onPageLoaded"/>
所以当页面加载时,方法 onPageLoaded()
被调用。
该方法包含以下代码
private void onPageLoaded(object sender, EventArgs e)
{
if (appWebView.CanGoBack)
backButton.IsEnabled = true;
else
backButton.IsEnabled = false;
if (appWebView.CanGoForward)
nextButton.IsEnabled = true;
else
nextButton.IsEnabled = false;
}
为了在用户可以/不能转到上一页/下一页时启用/禁用“箭头”按钮。
在这种情况下,appWebView.CanGoBack
和 appWebView.CanGoForward
总是 返回 false,即使它应该为 true。但是,如果我保持这些按钮处于启用状态,并在用户单击其中一个按钮时检查它们的值,那么这两个按钮都会返回正确的值。
为什么它在 onPageLoaded()
方法中不起作用?
最佳答案
这不是您要求的确切答案,但您可以使用 Bindings 资源来做这样的事情。像这样:
<Button Text="Back"
x:Name="backButton"
IsEnabled="{Binding CanGoBack, Source={Reference appWebView}}"
Clicked="previousPage"/>
<Button Text="Next"
x:Name="nextButton"
IsEnabled="{Binding CanGoForward, Source={Reference appWebView}}"
Clicked="nextPage"/>
<WebView x:Name="appWebView"
Source="https://www.google.com/"
Navigating="onLoadingPage"/>
更简单。看看this article如果您想详细了解 Xamarin.Forms 上的绑定(bind)。
因此,您可以摆脱 onPageLoaded
事件处理程序(如果它只为此而存在的话)。
希望对你有帮助。
[编辑] 拼写更正 CanGoForward
关于c# - Xamarin WebView.CanGoBack 和 CanGoForward 在页面加载后总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48690492/
我正在尝试将代码 vm.canGoForward 从我的 Controller 移动到服务以隐藏实现细节。 代码更改之前 这工作得很好。 查看: Controller : var vm = this
我正在尝试将数据直接加载到 UIWebView: [webView loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8"
简单的概念,但它不起作用。我的 UIWebView 中有两个按钮,一个后退按钮和一个前进按钮。后退按钮调用 [self.webView goBack] 和前进按钮 [self.webView goFo
我是 Xamarin.Forms 的新手,所以如果我使用的词不正确,请原谅。为了创建一个简单的移动浏览器,我创建了一个名为“WebBrowser”的解决方案;目前我正在处理通用文件 MainPage.
我是一名优秀的程序员,十分优秀!