Rolando a pilha
Se você é como a maioria dos programadores, assim que viu a lista estática das propriedades Color no capítulo anterior, quis escrever um programa para exibir todos eles, talvez usando a propriedade Text da Label para identificar a cor, e a propriedade TextColor para mostrar a cor real.
Embora você possa fazer isso com uma única Label utilizando um objeto FormattedString, é muito mais fácil com vários objetos Label. Porque vários objetos de Label estão envolvidos, este trabalho também requer alguma forma de exibir todos os objetos Label na tela.
A classe ContentPage define uma propriedade de conteúdo do tipo de visualização que você pode definir para um objeto - mas apenas um objeto. Exibir múltiplas views exige a criação de conteúdo para uma instância de uma classe que pode ter vários herdeiros de tipo View. Essa classe é a Layout<T>, que define uma propriedade Children do tipo IList <T>.
A classe Layout <T> é abstrata, mas quatro classes derivam de Layout <View>, uma classe que pode ter várias crianças do tipo View. Em ordem alfabética, estas quatro classes são:
- AbsoluteLayout
- Grid
- RelativeLayout
- StackLayout
Cada uma delas organiza seus filhos de uma forma característica. Este capítulo centra-se na StackLayout