VisualElement-Schlagschatten unter iOS

Diese plattformspezifische iOS-Plattform wird verwendet, um einen Schlagschatten auf einem VisualElement. Sie wird in XAML genutzt, indem Sie die VisualElement.IsShadowEnabled angefügte Eigenschaft trueauf eine Reihe zusätzlicher optionaler angefügter Eigenschaften festlegen, die den Schlagschatten steuern:

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

Alternativ kann sie mit der Fluent-API von C# genutzt werden:

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

Die Methode VisualElement.On<iOS> gibt an, dass diese plattformspezifische Funktion nur unter iOS ausführbar ist. Die VisualElement.SetIsShadowEnabled Methode im Xamarin.Forms.PlatformConfiguration.iOSSpecific Namespace wird verwendet, um zu steuern, ob ein Schlagschatten für die VisualElement. Darüber hinaus können die folgenden Methoden aufgerufen werden, um den Schlagschatten zu steuern:

  • SetShadowColor – legt die Farbe des Schlagschatten fest. Die Standardfarbe ist Color.Default.
  • SetShadowOffset – legt den Offset des Schlagschatten fest. Der Offset ändert die Richtung, in der der Schatten gegossen wird, und wird als Size Wert angegeben. Die Size Strukturwerte werden in geräteunabhängigen Einheiten ausgedrückt, wobei der erste Wert der Abstand von links (negativer Wert) oder rechts (positiver Wert) und der zweite Wert der Abstand über (negativer Wert) oder darunter (positiver Wert) ist. Der Standardwert dieser Eigenschaft ist (0,0, 0,0), was dazu führt, dass der Schatten um jede Seite der VisualElement.
  • SetShadowOpacity – legt die Deckkraft des Schlagschatten fest, wobei der Wert im Bereich 0,0 (transparent) auf 1,0 (undurchsichtig) liegt. Der Standarddurchsichtigkeitswert ist 0,5.
  • SetShadowRadius – legt den Weichzeichnerradius fest, der zum Rendern des Schlagschatten verwendet wird. Der Standardradiuswert ist 10,0.

Hinweis

Der Zustand eines Schlagschatten kann abgefragt werden, indem die GetIsShadowEnabledMethoden , GetShadowColor, , GetShadowOffsetund GetShadowOpacityGetShadowRadius methoden aufgerufen werden.

Das Ergebnis ist, dass ein Schlagschatten für ein VisualElement:

Schlagschatten aktiviert