Skip to content

Latest commit

 

History

History
99 lines (70 loc) · 3.04 KB

is-equal-converter.md

File metadata and controls

99 lines (70 loc) · 3.04 KB
title author description ms.date
IsEqualConverter - .NET MAUI Community Toolkit
bijington
The IsEqualConverter is a one way converter that returns a bool indicating whether the binding value is equal to another specified value.
03/02/2022

IsEqualConverter

The IsEqualConverter is a one way converter that returns a bool indicating whether the binding value is equal to another specified value.

The Convert method returns true when the binding value is equal to the supplied ConverterParameter.

The ConvertBack method is not supported. For the opposite behavior see the IsNotEqualConverter.

[!INCLUDE common converter properties]

Syntax

XAML

Including the XAML namespace

[!INCLUDE XAML usage guidance]

Using the IsEqualConverter

The IsEqualConverter can be used as follows in 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.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#

The IsEqualConverter can be used as follows in C#:

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

		label.SetBinding(
			Label.IsVisibleProperty,
			new Binding(
				nameof(ViewModels.MyValue),
				converter: new IsEqualConverter(),
				converterParameter: 100));

		Content = label;
    }
}

C# Markup

Our CommunityToolkit.Maui.Markup package provides a much more concise way to use this converter in C#.

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);
    }
}

Examples

You can find an example of this converter in action in the .NET MAUI Community Toolkit Sample Application.

API

You can find the source code for IsEqualConverter over on the .NET MAUI Community Toolkit GitHub repository.