IsInRangeConverter
IsInRangeConverter
est un convertisseur unidirectionnel qui prend une valeur entrante implémentant IComparable
, et une valeur minimale et maximale, et qui retourne ensuite le résultat correspondant à la valeur comprise entre les valeurs minimales et maximales. Si aucun objet n’est spécifié par le biais des propriétés TrueObject
et/ou FalseObject
, le résultat est défini par défaut sur un bool
. Si des valeurs sont attribuées aux propriétés TrueObject
et/ou FalseObject
, IsInRangeConverter retourne l’objet respectif attribué.
Remarque
Notez qu’il faut soit que TrueObject
et FalseObject
aient tous deux une valeur définie, soit qu’aucun n’en ait.
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 une Exception . Cette valeur est utilisée lorsque les options CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters sont définies 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 les options CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters sont définies 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 à retourner lorsque IValueConverter.Convert(object?, Type, object?, CultureInfo?) lève une Exception . Cette valeur est utilisée lorsque les options CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters sont définies 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 les options CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters sont définies 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 IsInRangeConverter
Le IsInRangeConverter
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.IsInRangeConverterPage">
<ResourceDictionary>
<x:String x:Key="MinValue">Hello</x:String>
<x:String x:Key="MaxValue">World</x:String>
<Color x:Key="TrueColor">Green</Color>
<Color x:Key="FalseColor">Red</Color>
</ResourceDictionary>
<Label BackgroundColor="{Binding MyValue, Converter={toolkit:IsInRangeConverter TrueObject={StaticResource TrueColor}, FalseObject={StaticResource FalseColor}, MinValue={StaticResource MinValue}, MaxValue={StaticResource MaxValue}}}" Text="The background of this label will be green if MyValue is between 'Hello' and 'World', otherwise red." />
</ContentPage>
C#
Le IsInRangeConverter
peut être utilisé de la manière suivante dans C# :
class IsInRangeConverterPage : ContentPage
{
public IsInRangeConverterPage()
{
Content = new Label()
.Text("The background of this label will be green if MyValue is between 'Hello' and 'World', otherwise red.")
.Bind(
Label.BackgroundColorProperty,
static (ViewModel vm) => vm.MyValue,
converter: new IsInRangeConverter
{
TrueObject = Colors.Green,
FalseObject = Colors.Red,
MinValue = "Hello",
MaxValue = "World"
});
}
}
Propriétés
Propriété | Type | Description |
---|---|---|
MinValue | IComparable |
Valeur minimale de la plage de comparaison. |
MaxValue | IComparable |
Valeur maximale de la plage de comparaison. |
FalseObject | object |
Résultat à retourner si la comparaison entraîne une comparaison false . |
TrueObject | object |
Résultat à retourner si la comparaison entraîne une comparaison true . |
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 deIsInRangeConverter
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit