Aracılığıyla paylaş


Windows'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.

Platforma özgü bu Evrensel Windows Platformu bu eski renk modunu devre dışı bırakır, böylece görünüm devre dışı bırakıldığında bile kullanıcı tarafından bir görünümde ayarlanan renkler kalır. Ekli özelliği falseolarak ayarlanarak VisualElement.IsLegacyColorModeEnabled XAML'de kullanılır:

<ContentPage ...
             xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        ...
        <Editor Text="Enter text here"
                TextColor="Blue"
                BackgroundColor="Bisque"
                windows: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.WindowsSpecific;
...

_legacyColorModeDisabledEditor.On<Windows>().SetIsLegacyColorModeEnabled(false);

yöntemi, VisualElement.On<Windows> platforma özgü bu uygulamanın yalnızca Windows üzerinde çalışacağını belirtir. VisualElement.SetIsLegacyColorModeEnabled yöntemi, ad alanında Xamarin.Forms.PlatformConfiguration.WindowsSpecific 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.