Xamarin.ios 网格自定义渲染器视图

Xamarin.ios 网格自定义渲染器视图,xamarin.ios,xamarin.forms,custom-renderer,Xamarin.ios,Xamarin.forms,Custom Renderer,我正在尝试为我的网格制作自定义渲染器,那么如何从NativeView生成渐变,而不影响我的网格呢 class GridRenderer : ViewRenderer<Grid, UIView> { protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { base.OnElementPropertyChanged(sender, e);

我正在尝试为我的网格制作自定义渲染器,那么如何从NativeView生成渐变,而不影响我的网格呢

class GridRenderer : ViewRenderer<Grid, UIView>
{
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{

    base.OnElementPropertyChanged(sender, e);
    if (Control == null)
    SetNativeControl(UIApplication.SharedApplication.KeyWindow.RootViewController.View);


  var gradientLayer = new CAGradientLayer();
    gradientLayer.Frame = Control.Bounds;

    gradientLayer.Colors = new CGColor[] { Color.Black.ToCGColor(), Color.Gray.ToCGColor() };
//no affect !!
Control.Layer.InsertSublayer(gradientLayer, 0);
类GridRenderer:ViewRenderer
{
受保护的覆盖无效OnElementPropertyChanged(对象发送方,PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(发送方,e);
if(Control==null)
SetNativeControl(UIApplication.SharedApplication.KeyWindow.RootViewController.View);
var gradientLayer=新的CAGradientLayer();
gradientLayer.Frame=Control.Bounds;
gradientLayer.Colors=newcgcolor[]{Color.Black.ToCGColor(),Color.Gray.ToCGColor()};
//没有影响!!
对照层插入子层(梯度层,0);

我不认为我可以创建网格自定义渲染器-网格元素不是可视的,它是一个布局容器。但我认为我可以通过分配rootviewcontroller来访问视图子级。这个问题对我来说有点不清楚。你想为整个网格设置一个渐变还是为网格中的每个元素设置渐变?正如我们所说的那样有网格的背景我想给它加渐变色也许你可以把网格放在ContentView中,为ContentView创建一个自定义的渲染器?你是对的,但我认为它在网格上是可行的。我认为我在网格中添加子层是错的