作为背景的梯度在Xamarin.Forms的栅格

时间:2016-06-16 09:41:48

标签: xamarin.forms custom-renderer

我正在尝试使用渐变画笔作为网格背景。到目前为止,我已经为UWP创建了一个自定义渲染器,但我无法让它工作。

e.NewElement.BackgroundColor需要一个Color,但我有一个LinearGradientBrush。那么甚至可以将网格背景设置为渐变颜色吗?

由于

我的渲染器代码如下:

    public class MyGridRenderer:ViewRenderer<MyGrid, Grid>
{
    protected override void OnElementChanged(ElementChangedEventArgs<MyGrid> e)
    {
        base.OnElementChanged(e);

        if (e.NewElement != null)
        {
            LinearGradientBrush brush = new LinearGradientBrush();

            GradientStop start = new GradientStop();
            start.Offset = 0;
            start.Color = Colors.Yellow;
            brush.GradientStops.Add(start);

            GradientStop stop = new GradientStop();
            stop.Offset = 1;
            stop.Color = Colors.Black;
            brush.GradientStops.Add(stop);

            e.NewElement.BackgroundColor = brush; //What goes here
            //Control.Background = brush;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我有答案。

有一个背景属性。

这样:

Background=brush