2016-06-16 8 views
0

Ich versuche, einen Farbverlauf Pinsel für einen Hintergrund in einem Grid zu verwenden. Bis jetzt habe ich nur einen benutzerdefinierten Renderer für den UWP erstellt, aber das funktioniert nicht.Gradient als Hintergrund auf einem Raster in Xamarin.Forms

Die e.NewElement.BackgroundColor erwartet eine Farbe, aber ich habe eine LinearGradientBrush. Ist es überhaupt möglich, den Gitterhintergrund als Farbverlauf einzustellen?

Dank

Mein Renderer Code unten:

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; 
     } 
    } 
} 
+0

Wie bekommt man LinearGradientBrush? Können Sie bitte Ihr Beispiel erweitern, um die using-Anweisungen anzuzeigen und Kommentare zu Referenzen zu kommentieren. –

Antwort

0

Ich habe die Antwort.

Es gibt eine Hintergrundeigenschaft.

so:

Background=brush