ColorToBlackOrWhiteConverter
ColorToBlackOrWhiteConverter
est un convertisseur unidirectionnel qui permet aux utilisateurs de convertir une Color
entrante en une valeur monochrome (Colors.Black
ou Colors.White
).
La méthode Convert
retourne la valeur value
fournie convertie en Colors.Black
ou en Colors.White
selon que la value
fournie soit considérée comme sombre ou non. Color
est pris en compte lorsque la valeur de chaque composant (rouge, vert et bleu) est inférieure à 127.
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 une Exception . Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true . |
DefaultConvertBackReturnValue |
Valeur par défaut à renvoyer 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 à renvoyer lorsque IValueConverter.Convert(object?, Type, object?, CultureInfo?) lève une Exception . Cette valeur est utilisée lorsque CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters est défini sur true . |
DefaultConvertBackReturnValue |
object? |
Valeur par défaut à renvoyer 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
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>
Utiliser ColorToBlackOrWhiteConverter
Le ColorToBlackOrWhiteConverter
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.ColorToBlackOrWhiteConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:ColorToBlackOrWhiteConverter x:Key="ColorToBlackOrWhiteConverter" />
</ResourceDictionary>
</ContentPage.Resources>
<Label Text="The Text is showing in monochrome"
TextColor="{Binding AppTextColor, Converter={StaticResource ColorToBlackOrWhiteConverter}}" />
</ContentPage>
C#
Le ColorToBlackOrWhiteConverter
peut être utilisé de la manière suivante dans C# :
class ColorToBlackOrWhiteConverterPage : ContentPage
{
public ColorToBlackOrWhiteConverterPage()
{
var label = new Label { Text = "The Text is showing in monochrome" };
label.SetBinding(
Label.TextColorProperty,
new Binding(
static (ViewModel vm) => vm.AppTextColor,
converter: new ColorToBlackOrWhiteConverter()));
Content = label;
}
}
Balisage C#
Notre package CommunityToolkit.Maui.Markup
offre une manière beaucoup plus concise d’utiliser ce convertisseur en C#.
using CommunityToolkit.Maui.Markup;
class ColorToBlackOrWhiteConverterPage : ContentPage
{
public ColorToBlackOrWhiteConverterPage()
{
Content = new Label { Text = "The Text is showing in monochrome" }
.Bind(
Label.TextColorProperty,
static (ViewModel vm) => vm.AppTextColor,
converter: new ColorToBlackOrWhiteConverter());
}
}
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 deColorToBlackOrWhiteConverter
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit