Aracılığıyla paylaş


iOS'ta VisualElement Eski Renk Modu

Bazı görünümlerde Xamarin.Forms eski bir renk modu bulunur. Bu modda, görünümün IsEnabled özelliği olarak falseayarlandığında, görünüm kullanıcı tarafından ayarlanan renkleri devre dışı durumda varsayılan yerel renklerle geçersiz kılar. Geriye dönük uyumluluk için, bu eski renk modu desteklenen görünümler için varsayılan davranış olarak kalır.

Bu iOS platformuna özgü, kullanıcı tarafından bir görünümde VisualElementayarlanan renklerin, görünüm devre dışı bırakıldığında bile kalması için bu eski renk modunu bir üzerinde devre dışı bırakır. Ekli özelliği falseolarak ayarlanarak VisualElement.IsLegacyColorModeEnabled XAML'de kullanılır:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        ...
        <Button Text="Button"
                TextColor="Blue"
                BackgroundColor="Bisque"
                ios:VisualElement.IsLegacyColorModeEnabled="False" />
        ...
    </StackLayout>
</ContentPage>

Alternatif olarak, akıcı API kullanılarak C# dilinden de kullanılabilir:

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

_legacyColorModeDisabledButton.On<iOS>().SetIsLegacyColorModeEnabled(false);

VisualElement.On<iOS> yöntemi, platforma özgü bu uygulamanın yalnızca iOS üzerinde çalışacağını belirtir. VisualElement.SetIsLegacyColorModeEnabled yöntemi, ad alanında Xamarin.Forms.PlatformConfiguration.iOSSpecific eski renk modunun devre dışı bırakılıp bırakılmadığını denetlemek için kullanılır. Ayrıca yöntemi, VisualElement.GetIsLegacyColorModeEnabled eski renk modunun devre dışı bırakılıp bırakılmadığını döndürmek için kullanılabilir.

Sonuç olarak, görünüm devre dışı bırakıldığında bile kullanıcı tarafından bir görünümde ayarlanan renklerin kalması için eski renk modu devre dışı bırakılabilir:

Eski renk modu devre dışı

Not

Görünümde ayarlarken VisualStateGroup eski renk modu tamamen yoksayılır. Görsel durumlar hakkında daha fazla bilgi için bkzXamarin.Forms. Visual State Manager.