ist relevent Code:Warum StackLayouts BackgroundColor überschreibt Etikettenfarbe? Hier
public class App : Application
{
public App()
{
StackLayout stack = new StackLayout
{
BackgroundColor = new Color(245, 240, 236)
};
Grid top = new Grid
{
...
};
Grid grid = new Grid
{
...
};
for (int i = 0; i < 10; i++)
{
Label name = getLabel("Worksheet " + i);
name.TextColor = Color.Black;
grid.Children.Add(name, 0, i);
Label date = getLabel("Opened by me " + new DateTime(2016, 1, i + 1 % 30).ToString("dd MMM yyy"));
grid.Children.Add(date, 1, i);
Label dots = getLabel("dots");
grid.Children.Add(dots, 2, i);
}
Label menu = getTopLabel("menu");
Label header = getTopLabel("Worksheets");
header.FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label));
Label plus = getTopLabel("plus");
Label edit = getTopLabel("edit");
top.Children.Add(menu, 0, 0);
top.Children.Add(header, 1, 0);
top.Children.Add(plus, 2, 0);
top.Children.Add(edit, 3, 0);
stack.Children.Add(top);
stack.Children.Add(grid);
...
}
private Label getLabel(string text)
{
return new Label
{
...
BackgroundColor = Color.White
};
}
private Label getTopLabel(string text)
{
return new Label
{
...
BackgroundColor = new Color(227, 49, 35),
TextColor = Color.Black
};
}
}
Mein Problem ist, dass, wenn ich die Anwendung ausführen, die alle die Gitter mit einer Hintergrundfarbe in StackLayout definiert werden angezeigt. Es ignoriert alle anderen Farbdefinitionen.
Wie kann ich Hintergrundfarbe für das Layout definieren, aber Hintergrundfarben für Zellen des Rasters beibehalten?
Screenshot: