Partager via


ColorToHslaStringConverter

Le ColorToHslaStringConverter est un convertisseur unidirectionnel permettant aux utilisateurs de convertir une liaison de valeur Color en son équivalent string HSLA au format : HSLA(teinte,saturation, clarté,alpha) où la teinte sera une valeur comprise entre 0 et 360, la saturation et la clarté seront une valeur comprise entre 0 % et 100 %, et l’alpha sera une valeur comprise entre 0 et 1 (par exemple, HSLA(0,100%,50%,1 pour Colors.Red).

La méthode Convert retourne le Color value fourni converti en son équivalent string HSLA.

La méthode ConvertBack n'est pas prise en charge.

Propriétés BaseConverter

Les propriétés suivantes sont implémentées dans la classe de base, public abstract class BaseConverter :

Propriété Description
DefaultConvertReturnValue Valeur par défaut à renvoyer lorsque IValueConverter.Convert(object?, Type, object?, CultureInfo?) lève un Exception. Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true.
DefaultConvertBackReturnValue Valeur par défaut à retourner lorsque IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) lève un Exception. Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true.

Propriétés ICommunityToolkitValueConverter

Les propriétés suivantes sont implémentées dans le public interface ICommunityToolkitValueConverter :

Propriété Type Description
DefaultConvertReturnValue object? Valeur par défaut à renvoyer lorsque IValueConverter.Convert(object?, Type, object?, CultureInfo?) lève un Exception. Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true.
DefaultConvertBackReturnValue object? Valeur par défaut à retourner lorsque IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) lève un Exception. Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true.

Syntaxe

Les exemples suivants montreront comment utiliser le ColorToHslaStringConverter pour afficher la chaîne équivalente HSLA d'un fichier Color spécifique.

XAML

Y compris l’espace de noms XAML

Pour utiliser le kit de ressources dans XAML, le xmlns suivant doit être ajouté à votre page ou à votre affichage :

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

Il en résulte ce qui suit :

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

</ContentPage>

Serait modifié pour inclure le xmlns de la manière suivante :

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">

</ContentPage>

À l’aide de ColorToHslaStringConverter

Le ColorToHslaStringConverter peut être utilisé de la manière suivante dans XAML :

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
             x:Class="CommunityToolkit.Maui.Sample.Pages.Converters.ColorToHslaStringConverterPage">

    <ContentPage.Resources>
        <ResourceDictionary>
            <toolkit:ColorToHslaStringConverter x:Key="ColorToHslaStringConverter" />
        </ResourceDictionary>
    </ContentPage.Resources>

    <VerticalStackLayout>
        <Label Text="My favourite Color is:" />

        <Label Text="{Binding MyFavoriteColor, Converter={StaticResource ColorToHslaStringConverter}}" />
    </VerticalStackLayout>

</ContentPage>

C#

Le ColorToHslaStringConverter peut être utilisé de la manière suivante dans C# :

class ColorToHslaStringConverterPage : ContentPage
{
    public ColorToHslaStringConverterPage()
    {
        var label = new Label();

        label.SetBinding(
            Label.TextProperty,
            new Binding(
                static (ViewModel vm) => vm.MyFavoriteColor,
                converter: new ColorToHslaStringConverter()));

        Content = new VerticalStackLayout
        {
            Children =
            {
                new Label { Text = "My favourite Color is:" },
                label
            }
        };
    }
}

Balisage C#

Notre package CommunityToolkit.Maui.Markup fournit une manière beaucoup plus concise d’utiliser ce convertisseur en C#.

using CommunityToolkit.Maui.Markup;

class ColorToHslaStringConverterPage : ContentPage
{
    public ColorToHslaStringConverterPage()
    {
        Content = new VerticalStackLayout
        {
            Children =
            {
                new Label()
                    .Text("My favourite Color is:"),
                new Label()
                    .Bind(
                        Label.TextProperty,
                        static (ViewModel vm) => vm.MyFavoriteColor,
                        converter: new ColorToHslaStringConverter())
            }
        };
    }
}

Exemples

Vous pouvez trouver un exemple de ce convertisseur en action dans l’exemple d’application de la boîte à outils de la communauté .NET MAUI.

API

Vous pouvez trouver le code source deColorToHslaStringConverter sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.