Partager via


ColorToDegreeHueConverter

Le ColorToDegreeHueConverter est un convertisseur unidirectionnel qui permet aux utilisateurs de convertir un Color entrant en composant teinte sous forme de valeur comprise entre 0 et 360. Teinte est un degré sur la roue de couleur de 0 à 360. 0 est rouge, 120 est vert et 240 est bleu.

La méthode Convert retourne le composant teinte sous forme d’une valeur comprise entre 0 et 360 à partir du value fourni.

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 à retourner 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 une 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 public interface ICommunityToolkitValueConverter :

Propriété Type Description
DefaultConvertReturnValue object? Valeur par défaut à retourner 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 une Exception. Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true.

Syntaxe

Les exemples suivants montrent comment utiliser ColorToDegreeHueConverter pour afficher le composant teinte d’un 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 ColorToDegreeHueConverter

Le ColorToDegreeHueConverter 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.ColorToDegreeHueConverterPage">

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

    <VerticalStackLayout>
         <Label Text="The hue component is:" />

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

</ContentPage>

C#

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

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

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

        Content = new VerticalStackLayout
        {
            Children =
            {
                new Label { Text = "The hue component is:" },
                label
            }
        };
    }
}

Balisage C#

Notre package CommunityToolkit.Maui.Markup offre un moyen beaucoup plus concis d’utiliser ce convertisseur en C#.

using CommunityToolkit.Maui.Markup;

class ColorToDegreeHueConverterPage : ContentPage
{
    public ColorToDegreeHueConverterPage()
    {
        Content = new VerticalStackLayout
        {
            Children =
            {
                new Label()
                    .Text("The hue component is:"),
                new Label()
                    .Bind(
                        Label.TextProperty,
                        static (ViewModel vm) => vm.MyFavoriteColor,
                        converter: new ColorToDegreeHueConverter())
            }
        };
    }
}

Exemples

Vous trouverez un exemple de ce convertisseur en action dans l’Exemple d’application du kit d’outils de la communauté .NET MAUI.

API

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