MaskedBehavior
MaskedBehavior
は、ユーザーがデータ入力用の入力マスクを定義できるようにする Behavior
です。 このビヘイビアーを InputView
(例: Entry
) コントロールに追加すると、ユーザーは特定のマスクに一致する値のみを入力するように強制されます。 使用例としては、クレジット カード番号や電話番号の入力などがあります。
重要
.NET MAUI Community Toolkit のビヘイビアーでは、ビヘイビアーの BindingContext
は設定されません。ビヘイビアーはスタイルを利用して共有し、複数のコントロールに適用できるためです。 詳細については、「.NET MAUI のビヘイビアー」を参照してください
構文
次の例では、16 桁のクレジット カード番号を入力するユーザーを支援するために、MaskedBehavior
を Entry
に追加する方法を示しています。
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 の結果を示しています。
カスタムのプロンプト文字
Mask
プロパティでは、ユーザーに表示される文字を、オーバーライドすることができます。 この変更は、既定では 'X'
の UnmaskedCharacter
プロパティを設定することで行なえます。 たとえば、16 桁のクレジット カード エントリの 4 桁の各グループの間に X
を表示する必要がある場合は、次を使用できます。
<Entry Keyboard="Numeric">
<Entry.Behaviors>
<toolkit:MaskedBehavior Mask="0000X0000X0000X0000" UnmaskedCharacter="0" />
</Entry.Behaviors>
</Entry>
Properties
プロパティ | タイプ | 説明 |
---|---|---|
Mask |
string |
入力値が一致する必要があるマスク。 |
UnmaskedCharacter |
char |
表示されユーザーにより入力される文字を、Mask プロパティ内で定義します。 |
例
このビヘイビアーの動作の例は .NET MAUI Community Toolkit サンプル アプリケーションで確認できます。
API
MaskedBehavior
のソース コードは、.NET MAUI Community Toolkit の GitHub リポジトリにあります。
.NET MAUI Community Toolkit