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 false
ayarlandığı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 VisualElement
ayarlanan 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 false
olarak 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:
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.