Freigeben über


IsEqualConverter

IsEqualConverter ist ein unidirektionaler Konverter, der einen bool Wert zurückgibt, der angibt, ob der Bindungswert einem anderen angegebenen Wert entspricht.

Die Methode Convert gibt true zurück, wenn die Bindung value identisch mit dem angegebenen ConverterParameter ist.

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

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 IsEqualConverter

IsEqualConverter 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.IsEqualConverterPage">

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

    <Label Text="The value is equal to 100"
           IsVisible="{Binding MyValue, Converter={StaticResource IsEqualConverter}, ConverterParameter=100}" />

</ContentPage>

C#

IsEqualConverter kann wie folgt in C# verwendet werden:


class IsEqualConverterPage : ContentPage
{
    public IsEqualConverterPage()
    {
        var label = new Label { Text = "The value is equal to 100" };

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

        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 IsEqualConverterPage : ContentPage
{
    public IsEqualConverterPage()
    {
        Content = new Label { Text = "The value is equal to 100" }
            .Bind(
                Label.IsVisibleProperty,
                static (ViewModel vm) => vm.MyValue,
                converter: new IsEqualConverter(),
                converterParameter: 100);
    }
}

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 IsEqualConverter über das GitHub-Repository für das .NET MAUI Community Toolkit.