BoolToObjectConverter
BoolToObjectConverter
est un convertisseur qui permet aux utilisateurs de convertir une liaison de valeur bool
en objet spécifique. En fournissant à la fois un TrueObject et un FalseObject dans le convertisseur, l’objet approprié sera retourné en fonction de la valeur de la liaison.
La méthode Convert
retourne le TrueObject
si la valeur value
fournie est true
, ou FalseObject
autrement.
La méthode ConvertBack
retourne true
si la valeur value
fournie est égale au TrueObject
, ou false
autrement.
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 montrent comment utiliser BoolToObjectConverter
pour modifier l’arrière-plan d’un contrôle Entry
, en fonction de la valeur spécifique d’une propriété liée IsValid
qui est true
ou false
.
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 BoolToObjectConverter
Le BoolToObjectConverter
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.BoolToObjectConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<SolidColorBrush x:Key="TrueColorBrush">Green</SolidColorBrush>
<SolidColorBrush x:Key="FalseColorBrush">Red</SolidColorBrush>
<toolkit:BoolToObjectConverter x:Key="IsValidConverter"
TrueObject="{StaticResource TrueColorBrush}"
FalseObject="{StaticResource FalseColorBrush}"/>
</ResourceDictionary>
</ContentPage.Resources>
<Entry Background="{Binding IsValid, Converter={StaticResource IsValidConverter}}" />
</ContentPage>
C#
Le BoolToObjectConverter
peut être utilisé de la manière suivante dans C# :
class BoolToObjectConverterPage : ContentPage
{
public BoolToObjectConverterPage()
{
var entry = new Entry();
label.SetBinding(
Label.IsVisibleProperty,
new Binding(
static (ViewModel vm) => vm.IsValid,
converter: new BoolToObjectConverter
{
TrueObject = new SolidColorBrush(Colors.Green),
FalseObject = new SolidColorBrush(Colors.Red)
}));
Content = 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 BoolToObjectConverterPage : ContentPage
{
public BoolToObjectConverterPage()
{
Content = new Entry()
.Bind(
Label.BackgroundProperty,
static (ViewModel vm) => vm.IsValid,
converter: new BoolToObjectConverter
{
TrueObject = new SolidColorBrush(Colors.Green),
FalseObject = new SolidColorBrush(Colors.Red)
});
}
}
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 deBoolToObjectConverter
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit