我想捏事件添加到我的WebView並沒有因此根據Xamarin文檔:Xamarin網頁視圖手勢不點火
PinchGestureRecognizer pinch = new PinchGestureRecognizer();
pinch.PinchUpdated += ClearCache;
webview.GestureRecognizers.Add(pinch);
然而,該事件不觸發。有什麼我需要做的,以使其工作?
這裏與我遇到這也是不工作的所有解決方案的混亂霰彈方法:
public class SettingsPage : ContentPage {
ICommand tapCommand;
public SettingsPage() {
var url = Path.Combine(DependencyService.Get<IBaseUrl>().Get(), "index.html");
WebView webview = new WebView() {
Source = new UrlWebViewSource { Url = url },
WidthRequest = 1000,
HeightRequest = 1000
};
//webview.Navigating += ClearCache; ********THIS WORKS*********
Padding = Device.OnPlatform<Thickness>(
new Thickness(1, 20, 1, 1),
new Thickness(1),
new Thickness(1)
);
PinchGestureRecognizer pinch = new PinchGestureRecognizer();
pinch.PinchUpdated += ClearCache;
webview.GestureRecognizers.Add(pinch);
tapCommand = new Command(OnTapped);
TapGestureRecognizer tap = new TapGestureRecognizer { NumberOfTapsRequired = 3 };
tap.Tapped += ClearCache;
tap.SetBinding(TapGestureRecognizer.CommandProperty, "TapCommand");
tap.Command = tapCommand;
webview.GestureRecognizers.Add(tap);
StackLayout stackLayout = new StackLayout { Spacing = 0 };
stackLayout.Children.Add(webview);
stackLayout.Children.Add(btnClearCache);
View parent = (View)webview.ParentView;
parent.GestureRecognizers.Add(tap);
parent.GestureRecognizers.Add(pinch);
Content = webview;
}
private void OnTapped(object obj) {
var service = DependencyService.Get<IPlatformService>();
service.ClearWebViewCache();
}
private void ClearCache(object sender, EventArgs e) {
var service = DependencyService.Get<IPlatformService>();
service.ClearWebViewCache();
}
public ICommand TapCommand {
get { return tapCommand; }
}
輕拍手勢是否工作,或者是否所有手勢都不適用於WebView? –
@亞當唯一的選擇是挖掘和捏,既不工作 – rory