Freigeben über


IsNullConverter

IsNullConverter ist ein unidirektionaler Konverter, der Object? in einen bool Wert konvertiert.

Die Methode Convert gibt true zurück, wenn das gebundene Objekt false ist, ansonsten gibt sie null zurück.

Die Methode ConvertBack wird nicht unterstützt. Das gegenteilige Verhalten finden Sie unter IsNotNullConverter.

BaseConverter-Eigenschaften

Die folgenden Eigenschaften werden in der Basisklasse public abstract class BaseConverter implementiert:

Eigenschaft Beschreibung
DefaultConvertReturnValue Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist.
DefaultConvertBackReturnValue Standardwert, der zurückgegeben werden soll, wenn IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist.

ICommunityToolkitValueConverter-Eigenschaften

Die folgenden Eigenschaften werden im public interface ICommunityToolkitValueConverter implementiert:

Eigenschaft Typ Beschreibung
DefaultConvertReturnValue object? Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist.
DefaultConvertBackReturnValue object? Standardwert, der zurückgegeben werden soll, wenn IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist.

Syntax

XAML

Einbinden des XAML-Namespace

Um das Toolkit in XAML verwenden zu können, muss der folgende xmlns-Abschnitt zu Ihrer Seite oder Ansicht hinzugefügt werden:

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

Der folgende Abschnitt:

<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>

Würde dann geändert werden, um xmlns einzubinden:

<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>

Verwenden von IsNullConverter

IsNullConverter kann wie folgt in XAML verwendet werden:

<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.IsNullConverterPage">

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

    <Label Text="Object is null"
           IsVisible="{Binding MyObject, Converter={StaticResource IsNullConverter}}" />

</ContentPage>

C#

IsNullConverter kann wie folgt in C# verwendet werden:


class IsNullConverterPage : ContentPage
{
    public IsNullConverterPage()
    {
        var label = new Label { Text = "Object is null" };

        label.SetBinding(
                Label.IsVisibleProperty,
                new Binding(nameof(ViewModels.MyObject), converter: new IsNullConverter()));

        Content = label;
    }
}

C#-Markup

Das Paket CommunityToolkit.Maui.Markup bietet eine viel präzisere Möglichkeit, diesen Konverter in C# zu verwenden.

using CommunityToolkit.Maui.Markup;

class IsNullConverterPage : ContentPage
{
    public IsNullConverterPage()
    {
        Content = new Label { Text = "Object is null" }
            .Bind(Label.IsVisibleProperty, static (ViewModel vm) => vm.MyObject, converter: new IsNullConverter());
    }
}

Beispiele

Ein Beispiel für den Einsatz dieses Konverters finden Sie in der Beispielanwendung für das .NET MAUI Community Toolkit.

API

Sie finden den Quellcode für IsNullConverter über das GitHub-Repository für das .NET MAUI Community Toolkit.