Xamarin.Forms 中网格上的渐变背景
Gradient as background on a grid in Xamarin.Forms
我正在尝试为网格上的背景使用渐变画笔。到目前为止,我只为 UWP 创建了一个自定义渲染器,但我无法让它工作。
e.NewElement.BackgroundColor 需要颜色,但我有一个 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;
}
}
}
我有答案。
有背景属性。
所以:
Background=brush
我正在尝试为网格上的背景使用渐变画笔。到目前为止,我只为 UWP 创建了一个自定义渲染器,但我无法让它工作。
e.NewElement.BackgroundColor 需要颜色,但我有一个 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;
}
}
}
我有答案。
有背景属性。
所以:
Background=brush