Вот Релевент код:Почему BackgroundColor для StackLayout переопределяет цвет ярлыков?
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
};
}
}
Моя проблема заключается в том, что при запуске приложения, все сетки отображаются с цветом фона один определенный в StackLayout. Он игнорирует все другие определения цвета.
Как я могу определить цвет фона для макета, но сохранить цвета backgroun для ячеек сетки?
Скриншот: