我在 Xamarin.Forms 中创建了一个 WebView 对象:
WebView webView = new WebView {
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand
};
我需要对这个对象执行一些特定于平台的操作:调用一些在 Xamarin.Forms 中不可用的函数,因为它在不同平台上的性质不同。
问题是,当我传递 Xamarin.Forms 对象时:
public interface IWebViewCallCSharp
{
void passWebView(WebView webView);
}
我可以在“本机方面”做与在 Xamarin.Forms 中完全相同的事情。如何在各个平台上获取WebView的一些特定平台功能?如何将这个转换成这个?
您将需要实现所谓的自定义渲染器。从这里开始:实现 HybridWebView。
简而言之,您将需要:
在最后一步你需要
您开始使用本机控件的起点是OnElementChanged
覆盖。
protected override void OnElementChanged (ElementChangedEventArgs<NativeListView> e)
{
base.OnElementChanged (e);
if (Control == null) {
// Instantiate the native control and assign it to the Control property
}
if (e.OldElement != null) {
// Unsubscribe from event handlers and cleanup any resources
}
if (e.NewElement != null) {
// Configure the control and subscribe to event handlers
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句