Partager via


IsStringNotNullOrWhiteSpaceConverter

IsStringNotNullOrWhiteSpaceConverter est un convertisseur unidirectionnel qui retourne une valeur bool indiquant si la valeur de liaison n’est pas nulle, n’est pas une string.Empty et ne contient pas uniquement des espaces blancs.

La méthode Convert retourne true lorsque la value de liaison n’est pas null, n’est pas une string.Empty et ne contient pas uniquement des caractères blancs.

La méthode ConvertBack n'est pas prise en charge. Pour le comportement opposé, voir le IsStringNullOrWhitespaceConverter.

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

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>

Utilisation de IsStringNotNullOrWhitespaceConverter

Le IsStringNotNullOrWhiteSpaceConverter 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.IsStringNotNullOrWhiteSpaceConverterPage">

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

    <Label Text="A value has been entered"
           IsVisible="{Binding MyValue, Converter={StaticResource IsStringNotNullOrWhiteSpaceConverter}}" />

</ContentPage>

C#

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

class IsStringNotNullOrWhiteSpaceConverterPage : ContentPage
{
    public IsStringNotNullOrWhiteSpaceConverterPage()
    {
        var label = new Label { Text = "A value has been entered" };

        label.SetBinding(
            Label.IsVisibleProperty,
            new Binding(
                static (ViewModels vm) => vm.MyValue,
                converter: new IsStringNotNullOrWhiteSpaceConverter()));

        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 IsStringNotNullOrWhiteSpaceConverterPage : ContentPage
{
    public IsStringNotNullOrWhiteSpaceConverterPage()
    {
        Content = new Label { Text = "A value has been entered" }
            .Bind(
                Label.IsVisibleProperty,
                static (ViewModel vm) => vm.MyValue,
                converter: new IsStringNotNullOrWhiteSpaceConverter());
    }
}

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 deIsStringNotNullOrWhiteSpaceConverter sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.