Xamarin - 自定义渲染器 - 将Form.View转换为Android.View

时间:2015-02-12 20:38:59

标签: xamarin

是否可以从Android.View获取iOSXamarin.Form.View中的等效视图对象)?我有自定义控件,它依赖于Android.View。我正在编写自定义渲染器,将自定义控件设置为本机视图但我需要将ContentView(在xaml中初始化的BindableProperty公开)从Portable library转换为Android.View

1 个答案:

答案 0 :(得分:2)

是的,你可以。我编写了一个使用反射来获取底层本机视图的扩展:

https://github.com/XLabs/Xamarin-Forms-Labs/blob/master/src/Forms/XLabs.Forms.Droid/Extensions/ViewExtensions.cs#L54-L59

代码中的本机视图是Android.Views.View类型,View是Xamarin.Forms.View。

https://github.com/XLabs/Xamarin-Forms-Labs/blob/master/src/Forms/XLabs.Forms.Droid/Extensions/ViewExtensions.cs#L19

同样适用于iOS,只需将其投射到UIView。