Ombreggiatura di VisualElement in iOS

Questa piattaforma iOS specifica viene usata per abilitare un'ombreggiatura in un oggetto VisualElement. Viene utilizzato in XAML impostando la VisualElement.IsShadowEnabled proprietà associata su , insieme a trueuna serie di proprietà associate facoltative aggiuntive che controllano l'ombreggiatura:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout Margin="20">
        <BoxView ...
                 ios:VisualElement.IsShadowEnabled="true"
                 ios:VisualElement.ShadowColor="Purple"
                 ios:VisualElement.ShadowOpacity="0.7"
                 ios:VisualElement.ShadowRadius="12">
            <ios:VisualElement.ShadowOffset>
                <Size>
                    <x:Arguments>
                        <x:Double>10</x:Double>
                        <x:Double>10</x:Double>
                    </x:Arguments>
                </Size>
            </ios:VisualElement.ShadowOffset>
         </BoxView>
        ...
    </StackLayout>
</ContentPage>

In alternativa, può essere usato da C# usando l'API Fluent:

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

var boxView = new BoxView { Color = Color.Aqua, WidthRequest = 100, HeightRequest = 100 };
boxView.On<iOS>()
       .SetIsShadowEnabled(true)
       .SetShadowColor(Color.Purple)
       .SetShadowOffset(new Size(10,10))
       .SetShadowOpacity(0.7)
       .SetShadowRadius(12);

Il VisualElement.On<iOS> metodo specifica che questa piattaforma verrà eseguita solo in iOS. Il VisualElement.SetIsShadowEnabled metodo, nello spazio dei Xamarin.Forms.PlatformConfiguration.iOSSpecific nomi , viene usato per controllare se è abilitata un'ombreggiatura nell'oggetto VisualElement. Inoltre, è possibile richiamare i metodi seguenti per controllare l'ombreggiatura:

  • SetShadowColor : imposta il colore dell'ombreggiatura. Il colore predefinito è Color.Default.
  • SetShadowOffset : imposta l'offset dell'ombreggiatura. L'offset modifica la direzione in cui viene eseguito il cast dell'ombreggiatura e viene specificato come Size valore. I valori della Size struttura sono espressi in unità indipendenti dal dispositivo, con il primo valore che corrisponde alla distanza verso sinistra (valore negativo) o destro (valore positivo) e il secondo valore è la distanza sopra (valore negativo) o inferiore (valore positivo). Il valore predefinito di questa proprietà è (0,0, 0,0), che comporta il cast dell'ombreggiatura intorno a ogni lato di VisualElement.
  • SetShadowOpacity – imposta l'opacità dell'ombreggiatura, con il valore compreso nell'intervallo 0,0 (trasparente) su 1,0 (opaco). Il valore di opacità predefinito è 0,5.
  • SetShadowRadius : imposta il raggio di sfocatura usato per eseguire il rendering dell'ombreggiatura. Il valore predefinito del raggio è 10,0.

Nota

Lo stato di un'ombreggiatura può essere sottoposto a query chiamando i GetIsShadowEnabledmetodi , GetShadowColorGetShadowOffset, GetShadowOpacity, e GetShadowRadius .

Il risultato è che un'ombreggiatura può essere abilitata in un VisualElementoggetto :

Ombreggiatura abilitata