Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dies TextValidationBehavior ist eine Behavior Funktion, die es dem Benutzer ermöglicht, einen bestimmten Text abhängig von den angegebenen Parametern zu überprüfen. Durch Hinzufügen dieses Verhaltens zu einem beliebigen InputView Steuerelement kann es unterschiedlich formatiert werden, je nachdem, ob ein gültiger oder ungültiger Textwert angegeben wird. Es bietet verschiedene integrierte Überprüfungen, z. B. die Überprüfung auf eine bestimmte Länge oder ob der Eingabewert mit einem bestimmten regulären Ausdruck übereinstimmt.
Important
Die .NET MAUI Community Toolkit Behaviors legen die BindingContext eines Verhaltens nicht fest, da Verhaltensweisen über Stile freigegeben und auf mehrere Steuerelemente angewendet werden können. Weitere Informationen finden Sie unter .NET MAUI Behaviors
Syntax
Die folgenden Beispiele zeigen, wie Sie TextValidationBehavior zu einem Entry hinzufügen und TextColor ändern, je nachdem, ob der eingegebene Text zwischen 1 und 10 Zeichen lang ist.
XAML
Einbinden des XAML-Namespace
Um das Toolkit in XAML verwenden zu können, muss der folgende xmlns-Abschnitt zu Ihrer Seite oder Ansicht hinzugefügt werden:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Daher das Folgende:
<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>
Würde geändert werden, um das xmlns wie folgt einzubinden:
<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>
Verwenden von TextValidationBehavior
Dies TextValidationBehavior kann wie folgt in XAML verwendet werden:
<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.TextValidationBehaviorPage">
<ContentPage.Resources>
<Style x:Key="InvalidEntryStyle" TargetType="Entry">
<Setter Property="TextColor" Value="Red" />
</Style>
<Style x:Key="ValidEntryStyle" TargetType="Entry">
<Setter Property="TextColor" Value="Green" />
</Style>
</ContentPage.Resources>
<Entry>
<Entry.Behaviors>
<toolkit:TextValidationBehavior
InvalidStyle="{StaticResource InvalidEntryStyle}"
ValidStyle="{StaticResource ValidEntryStyle}"
Flags="ValidateOnValueChanged"
MinimumLength="1"
MaximumLength="10" />
</Entry.Behaviors>
</Entry>
</ContentPage>
C#
Dies TextValidationBehavior kann wie folgt in C# verwendet werden:
class TextValidationBehaviorPage : ContentPage
{
public TextValidationBehaviorPage()
{
var entry = new Entry();
var validStyle = new Style(typeof(Entry));
validStyle.Setters.Add(new Setter
{
Property = Entry.TextColorProperty,
Value = Colors.Green
});
var invalidStyle = new Style(typeof(Entry));
invalidStyle.Setters.Add(new Setter
{
Property = Entry.TextColorProperty,
Value = Colors.Red
});
var textValidationBehavior = new TextValidationBehavior
{
InvalidStyle = invalidStyle,
ValidStyle = validStyle,
Flags = ValidationFlags.ValidateOnValueChanged,
MinimumLength = 1,
MaximumLength = 10
};
entry.Behaviors.Add(textValidationBehavior);
Content = entry;
}
}
C#-Markup
Unser CommunityToolkit.Maui.Markup Paket bietet eine viel präzisere Möglichkeit, dies Behavior in C# zu verwenden.
using CommunityToolkit.Maui.Markup;
class TextValidationBehaviorPage : ContentPage
{
public TextValidationBehaviorPage()
{
Content = new Entry()
.Behaviors(new TextValidationBehavior
{
InvalidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Red),
ValidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Green),
Flags = ValidationFlags.ValidateOnValueChanged,
MinimumLength = 1,
MaximumLength = 10
});
}
}
Der folgende Screenshot zeigt den resultierenden TextValidationBehavior auf Android: 
Eigenschaften
| Eigentum | Typ | Beschreibung |
|---|---|---|
DecorationFlags |
TextDecorationFlags |
Stellt einen aufgezählten Wert bereit, der verwendet werden soll, um festzulegen, wie Leerzeichen behandelt werden. |
MaximumLength |
int |
Die maximale Länge des zulässigen Werts. |
MinimumLength |
int |
Die Mindestlänge des zulässigen Werts. |
RegexOptions |
RegexOptions |
Stellt aufgezählte Werte bereit, die zum Festlegen von Optionen für reguläre Ausdrücke verwendet werden sollen. |
RegexPattern |
string |
Das Muster für reguläre Ausdrücke, mit dem der Wert übereinstimmen muss, bevor er zulässig ist. |
ValidationBehavior-Eigenschaften
Die folgenden Eigenschaften werden in der Basisklasse implementiert: public abstract class ValidationBehavior
| Eigentum | Typ | Beschreibung |
|---|---|---|
Flags |
ValidationFlags |
Stellt einen Aufzählungswert bereit, der angibt, wie die Überprüfung behandelt wird. |
ForceValidateCommand |
ICommand |
Ermöglicht es dem Benutzer, ein benutzerdefiniertes ICommand bereitzustellen, das die Validierung erzwingt. |
InvalidStyle |
Style |
Das Style, das auf das Element angewendet wird, wenn die Validierung fehlschlägt. |
IsNotValid |
bool |
Gibt an, ob der aktuelle Wert als ungültig betrachtet wird. |
IsRunning |
bool |
Gibt an, ob die Validierung derzeit ausgeführt wird (das Warten auf einen asynchronen Aufruf abgeschlossen ist). |
IsValid |
bool |
Gibt an, ob der aktuelle Wert als gültig betrachtet wird. |
ValidStyle |
Style |
Der Style, der auf das Element angewendet wird, wenn die Validierung erfolgreich ist. |
Value |
object |
Der zu überprüfende Wert. |
ValuePropertyName |
string |
Ermöglicht es dem Benutzer, die Eigenschaft außer Kraft zu setzen, die als Wert zum Überprüfen verwendet wird. |
Beispiele
Sie finden ein Beispiel für dieses Verhalten in Aktion in der .NET MAUI Community Toolkit-Beispielanwendung.
API
Sie finden den Quellcode für TextValidationBehavior im .NET MAUI Community Toolkit GitHub Repository.
.NET MAUI Community Toolkit