Zellenhintergrundfarbe unter iOS

Beispiel herunterladen Das Beispiel herunterladen

Mit dieser plattformspezifischen iOS-Plattform wird die Standardhintergrundfarbe von Cell Instanzen festgelegt. Es wird in XAML verwendet, indem die Cell.DefaultBackgroundColor bindbare Eigenschaft auf festgelegt Colorwird:

<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>

Alternativ kann es über C# mithilfe der Fluent-API verwendet werden:

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

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

Die ListView.On<iOS> -Methode gibt an, dass diese plattformspezifische Nur unter iOS ausgeführt wird. Die Cell.SetDefaultBackgroundColor -Methode im -Namespace legt die Xamarin.Forms.PlatformConfiguration.iOSSpecific Hintergrundfarbe der Zelle auf eine angegebene Colorfest. Darüber hinaus kann die Cell.DefaultBackgroundColor -Methode verwendet werden, um die aktuelle Hintergrundfarbe der Zelle abzurufen.

Das Ergebnis ist, dass die Hintergrundfarbe in einem Cell auf eine bestimmte Colorfestgelegt werden kann:

Screenshot der Kopfzeilenzellen der Teal-Gruppe in iOS