Freigeben über


IsNotEqualConverter

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

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

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

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 IsNotEqualConverter

IsNotEqualConverter 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.IsNotEqualConverterPage">

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

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

</ContentPage>

C#

IsNotEqualConverter kann wie folgt in C# verwendet werden:


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

        label.SetBinding(
            Label.IsVisibleProperty,
            new Binding(
                static (ViewModels vm) => vm.MyValue,
                converter: new IsNotEqualConverter(),
                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 IsNotEqualConverterPage : ContentPage
{
    public IsNotEqualConverterPage()
    {
        Content = new Label { Text = "The value is not equal to 100" }
            .Bind(
                Label.IsVisibleProperty,
                static (ViewModel vm) => vm.MyValue,
                converter: new IsNotEqualConverter(),
                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 IsNotEqualConverter über das GitHub-Repository für das .NET MAUI Community Toolkit.