Compartir a través de


Color de fondo de las celdas en iOS

Esta plataforma específica de iOS establece el color de fondo predeterminado de las instancias de Cell. Se consume en XAML estableciendo la propiedad enlazable Cell.DefaultBackgroundColor en Color:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout Margin="20">
        <ListView ItemsSource="{Binding GroupedEmployees}"
                  IsGroupingEnabled="true">
            <ListView.GroupHeaderTemplate>
                <DataTemplate>
                    <ViewCell ios:Cell.DefaultBackgroundColor="Teal">
                        <Label Margin="10,10"
                               Text="{Binding Key}"
                               FontAttributes="Bold" />
                    </ViewCell>
                </DataTemplate>
            </ListView.GroupHeaderTemplate>
            ...
        </ListView>
    </StackLayout>
</ContentPage>

Como alternativa, se puede consumir desde C# mediante la API fluida:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

var viewCell = new ViewCell { View = ... };
viewCell.On<iOS>().SetDefaultBackgroundColor(Color.Teal);

El método ListView.On<iOS> especifica que esta plataforma específica solo se ejecutará en iOS. El método Cell.SetDefaultBackgroundColor, en el espacio de nombres Xamarin.Forms.PlatformConfiguration.iOSSpecific, establece el color de fondo de la celda en un objeto Color especificado. Además, el método Cell.DefaultBackgroundColor se puede usar para recuperar el color de fondo actual de la celda.

El resultado es que el color de fondo de un objeto Cell se puede establecer en un objeto Color específico:

Captura de pantalla de las celdas de encabezado del grupo verde azulado en iOS