次の方法で共有


MaskedBehavior

MaskedBehavior は、ユーザーがデータ入力用の入力マスクを定義できるようにする Behavior です。 このビヘイビアーを InputView (例: Entry ) コントロールに追加すると、ユーザーは特定のマスクに一致する値のみを入力するように強制されます。 使用例としては、クレジット カード番号や電話番号の入力などがあります。

重要

.NET MAUI Community Toolkit のビヘイビアーでは、ビヘイビアーの BindingContext は設定されません。ビヘイビアーはスタイルを利用して共有し、複数のコントロールに適用できるためです。 詳細については、「.NET MAUI のビヘイビアー」を参照してください

構文

次の例では、16 桁のクレジット カード番号を入力するユーザーを支援するために、MaskedBehaviorEntry に追加する方法を示しています。

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>

MaskedBehavior の使用

MaskedBehavior は、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.Behaviors.MaskedBehaviorPage">

    <Entry Keyboard="Numeric">
        <Entry.Behaviors>
            <toolkit:MaskedBehavior Mask="XXXX XXXX XXXX XXXX" />
        </Entry.Behaviors>
    </Entry>

</ContentPage>

C#

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


class MaskedBehaviorPage : ContentPage
{
    public MaskedBehaviorPage()
    {
        var entry = new Entry
        {
            Keyboard = Keyboard.Numeric
        };

        var behavior = new MaskedBehavior
        {
            Mask = "XXXX XXXX XXXX XXXX"
        };

        entry.Behaviors.Add(behavior);

        Content = entry;
    }
}

C# Markup

CommunityToolkit.Maui.Markup パッケージは、C# でこの Behavior を使用するための、より簡潔な方法を提供します。

using CommunityToolkit.Maui.Markup;

class MaskedBehaviorPage : ContentPage
{
    public MaskedBehaviorPage()
    {
        Content = new Entry
        {
            Keyboard = Keyboard.Numeric
        }.Behaviors(new MaskedBehavior
        {
            Mask = "XXXX XXXX XXXX XXXX"
        });
    }
}

次のスクリーンショットは、Android での MaskedBehavior の結果を示しています。 Android 上の MaskedBehavior のスクリーンショット

カスタムのプロンプト文字

Mask プロパティでは、ユーザーに表示される文字を、オーバーライドすることができます。 この変更は、既定では 'X'UnmaskedCharacter プロパティを設定することで行なえます。 たとえば、16 桁のクレジット カード エントリの 4 桁の各グループの間に X を表示する必要がある場合は、次を使用できます。

<Entry Keyboard="Numeric">
    <Entry.Behaviors>
        <toolkit:MaskedBehavior Mask="0000X0000X0000X0000" UnmaskedCharacter="0" />
    </Entry.Behaviors>
</Entry>

UnmaskedCharacter

Properties

プロパティ タイプ 説明
Mask string 入力値が一致する必要があるマスク。
UnmaskedCharacter char 表示されユーザーにより入力される文字を、Mask プロパティ内で定義します。

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

API

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