次の方法で共有


IsListNullOrEmptyConverter

IsListNullOrEmptyConverter は、IEnumerablebool 値に変換する一方向のコンバーターです。

Convert メソッドは、null または空の IEnumerable が渡された場合は true を、それ以外の場合は false を返します。

この ConvertBack メソッドはサポートされていません。 逆のビヘイビアーについては、IsListNotNullOrEmptyConverter を参照してください。

BaseConverter のプロパティ

基底クラス public abstract class BaseConverter には、次のプロパティが実装されています。

プロパティ 説明
DefaultConvertReturnValue IValueConverter.Convert(object?, Type, object?, CultureInfo?)Exception をスローしたときに返される既定値です。 この値は、CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverterstrue に設定されている場合に使用されます。
DefaultConvertBackReturnValue IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?)Exception をスローしたときに返される既定値です。 この値は、CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverterstrue に設定されている場合に使用されます。

ICommunityToolkitValueConverter のプロパティ

public interface ICommunityToolkitValueConverter には次のプロパティが実装されています。

プロパティ タイプ 説明
DefaultConvertReturnValue object? IValueConverter.Convert(object?, Type, object?, CultureInfo?)Exception をスローしたときに返される既定値です。 この値は、CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverterstrue に設定されている場合に使用されます。
DefaultConvertBackReturnValue object? IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?)Exception をスローしたときに返される既定値です。 この値は、CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverterstrue に設定されている場合に使用されます。

構文

XAML

XAML 名前空間を含める

XAML でこのツールキットを使用するには、次の xmlns をページまたはビューに追加する必要があります。

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

したがって、以下のコードは、

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

次のように、xmlns を含むように変更されます。

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

IsListNullOrEmptyConverter の使用

IsListNullOrEmptyConverter は、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.IsListNullOrEmptyConverterPage">

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

    <Label Text="The list is empty"
           IsVisible="{Binding MyList, Converter={StaticResource IsListNullOrEmptyConverter}}" />

</ContentPage>

C#

IsListNullOrEmptyConverter は、C# では次のように使用できます。


class IsListNullOrEmptyConverterPage : ContentPage
{
    public IsListNullOrEmptyConverterPage()
    {
        var label = new Label { Text = "The list is not empty" };

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

        Content = label;
    }
}

C# Markup

この CommunityToolkit.Maui.Markup パッケージを使うと、より簡潔な方法でこのコンバーターを C# で使用できます。

using CommunityToolkit.Maui.Markup;

class IsListNullOrEmptyConverterPage : ContentPage
{
    public IsListNullOrEmptyConverterPage()
    {
        Content = new Label { Text = "The list is not empty" }
            .Bind(
                Label.IsVisibleProperty,
                static (ViewModel vm) => vm.MyList,
                converter: new IsListNullOrEmptyConverter());
    }
}

このコンバーターの動作の例は、.NET MAUI Community Toolkit サンプル アプリケーションで確認できます。

API

IsListNullOrEmptyConverter のソース コードは、.NET MAUI Community Toolkit の GitHub リポジトリにあります。