.NET Multi-platform App UI (.NET MAUI) のビヘイビアを使用すると、ユーザー インターフェイス コントロールをサブクラス化しなくても、そのコントロールに機能を追加できます。 代わりに、この機能は動作クラスに実装され、コントロール自体の一部であるかのようにコントロールにアタッチされます。
動作の詳細については、.NET MAUIドキュメントを参照してください。
.NET MAUI Community Toolkit の動作
.NET MAUI Community Toolkit は、開発者の生活を容易にするために、事前に構築された再利用可能な動作のコレクションを提供します。 ツールキットによって提供される動作を次に示します。
| Behavior | Description |
|---|---|
AnimationBehavior |
AnimationBehaviorは、アタッチされているBehaviorをアニメーション化する機能を提供するVisualElementです。 |
CharactersValidationBehavior |
CharactersValidationBehaviorは、ユーザーが指定されたパラメーターに応じてテキスト入力を検証できるようにするBehaviorです。 |
EmailValidationBehavior |
EmailValidationBehaviorは、ユーザーがテキスト入力が有効な電子メール アドレスであるかどうかを判断できるBehaviorです。 |
EventToCommandBehavior |
EventToCommandBehaviorは、ユーザーがEventを通じてCommandを呼び出せるbehaviorです。 コマンドをサポートするように設計されていないコントロールによって公開されるイベントにコマンドを関連付けるために設計されています。 これにより、コントロール上の任意のイベントを Command にマップできます。 |
IconTintColorBehavior |
IconTintColorBehaviorは、イメージの濃淡を設定できるbehaviorです。 |
ImageTouchBehavior |
ImageTouchBehaviorは、タッチ、マウス クリック、ホバー イベントに基づいてTouchBehavior要素をカスタマイズする機能を提供することで、Imageを拡張します。 |
MaskedBehavior |
MaskedBehaviorは、ユーザーがデータ入力の入力マスクを定義できるBehaviorです。 |
MaxLengthReachedBehavior |
MaxLengthReachedBehaviorは、ユーザーがInputViewで許可されている最大長に達したときにユーザーがアクションをトリガーできるようにする動作です。 |
MultiValidationBehavior |
MultiValidationBehaviorは、ユーザーが複数の検証コントロールを組み合わせて、指定されたパラメーターに応じてテキスト入力を検証できるようにするBehaviorです。 |
NumericValidationBehavior |
NumericValidationBehaviorは、ユーザーがテキスト入力が有効な数値であるかどうかを判断できるBehaviorです。 |
ProgressBarAnimationBehavior |
ProgressBarAnimationBehaviorは、現在の Progress 値から指定された値までのProgressBarを時間の経過と同時にアニメーション化します。 |
RequiredStringValidationBehavior |
RequiredStringValidationBehaviorは、ユーザーがテキスト入力が特定のテキストと等しいかどうかを判断できるBehaviorです。 |
SelectAllTextBehavior |
SelectAllTextBehaviorは、フォーカスされたときにInputView(EntryやEditorなど)内のすべてのテキストを選択できるBehaviorです。 |
SetFocusOnEntryCompletedBehavior |
SetFocusOnEntryCompletedBehaviorは、Behaviorが完了したときに指定したVisualElementにフォーカスを与えるEntryです。 |
StatusBarBehavior |
StatusBarBehaviorは、デバイスのステータス バーの色とスタイルをカスタマイズできるBehaviorです。 |
TextValidationBehavior |
TextValidationBehaviorは、ユーザーが指定されたパラメーターに応じて特定のテキストを検証できるようにするBehaviorです。 |
TouchBehavior |
TouchBehaviorは、タッチ、マウス クリック、ホバー イベントに基づいて、任意のBehaviorと対話する機能を提供するVisualElementです。 |
UriValidationBehavior |
UriValidationBehaviorは、テキスト入力が有効な URI であるかどうかをユーザーが判断できるBehaviorです。 |
UserStoppedTypingBehavior |
UserStoppedTypingBehaviorは、ユーザーがEntryデータ入力を停止したときにユーザーがアクションをトリガーできるようにする動作です。 |
.NET MAUI Community Toolkit の動作を作成する
.NET MAUI Community Toolkit には、BaseBehavior<T>の管理に関するいくつかのボイラー プレート要件を実行する Behavior クラスが用意されています。これにより、開発者は実装の目的に集中できます。 .NET MAUI Community Toolkit の動作を実装するには、BaseBehavior<T> クラスから派生するクラスを作成し、必要に応じて、OnAttachedTo、OnDetachingFrom、または OnViewPropertyChanged メソッドをオーバーライドします。
次の例は、NumericValidationBehavior クラスを示しています。このクラスでは、Entryでない場合に、ユーザーがdouble コントロールに入力した値が赤で強調表示されます。
public class NumericValidationBehavior : Behavior<Entry>
{
void OnViewPropertyChanged(Entry sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(Entry.Text))
{
bool isValid = double.TryParse(sender.Text, out double _);
sender.TextColor = isValid ? Colors.Black : Colors.Red;
}
}
}
この例では、 NumericValidationBehavior クラスは BaseBehavior<T> クラスから派生します。ここで、 T は Entryです。
OnAttachedToメソッドとOnDetachingFrom メソッドは基本実装内で処理されるため、唯一の要件はOnViewPropertyChangedをオーバーライドすることです。
OnViewPropertyChanged メソッドは、ViewのEntry プロパティでプロパティが変更されるたびに呼び出されます。 このOnViewPropertyChangedは、Entryに入力された値を解析し、値がTextColorでない場合にdouble プロパティを赤に設定する動作のコア機能を提供します。
.NET MAUI Community Toolkit