RequiredStringValidationBehavior
RequiredStringValidationBehavior
ist ein Behavior
, mit dem Benutzer*innen ermitteln können, ob die Texteingabe einem bestimmten Text entspricht. Beispielsweise kann ein Entry
-Steuerelement unterschiedlich formatiert werden, je nachdem, ob eine gültige oder eine ungültige Texteingabe vorliegt.
Wichtig
Das .NET MAUI Community Toolkit Behaviors legt das BindingContext
eines Verhaltens nicht fest, da Verhalten über Stile freigegeben und auf mehrere Steuerelemente angewendet werden können. Weitere Informationen finden Sie unter .NET MAUI Behaviors
Syntax
In den folgenden Beispielen wird gezeigt, wie Sie das RequiredStringValidationBehavior
zu einem Entry
hinzufügen und die TextColor
basierend darauf ändern, ob die RequiredString
eingegeben wurde.
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"
Der folgende Abschnitt:
<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 dann geändert werden, um xmlns
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 RequiredStringValidationBehavior
RequiredStringValidationBehavior
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.RequiredStringValidationBehaviorPage">
<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:RequiredStringValidationBehavior
InvalidStyle="{StaticResource InvalidEntryStyle}"
ValidStyle="{StaticResource ValidEntryStyle}"
Flags="ValidateOnValueChanged"
RequiredString="MAGIC ANSWER" />
</Entry.Behaviors>
</Entry>
</ContentPage>
C#
RequiredStringValidationBehavior
kann wie folgt in C# verwendet werden:
class RequiredStringValidationBehaviorPage : ContentPage
{
public RequiredStringValidationBehaviorPage()
{
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 requiredStringValidationBehavior = new RequiredStringValidationBehavior
{
InvalidStyle = invalidStyle,
ValidStyle = validStyle,
Flags = ValidationFlags.ValidateOnValueChanged,
RequiredString = "MAGIC ANSWER"
};
entry.Behaviors.Add(requiredStringValidationBehavior);
Content = entry;
}
}
C#-Markup
Das Paket CommunityToolkit.Maui.Markup
bietet eine viel präzisere Möglichkeit, dieses Behavior
in C# zu verwenden.
using CommunityToolkit.Maui.Markup;
class RequiredStringValidationBehaviorPage : ContentPage
{
public RequiredStringValidationBehaviorPage()
{
Content = new Entry()
.Behaviors(new RequiredStringValidationBehavior
{
InvalidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Red),
ValidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Green),
Flags = ValidationFlags.ValidateOnValueChanged,
RequiredString = "MAGIC ANSWER"
});
}
}
Im folgenden Screenshot ist das resultierende RequiredStringValidationBehavior unter Android dargestellt:
Eigenschaften
Eigenschaft | Typ | Beschreibung |
---|---|---|
ExactMatch |
bool |
Legt fest, ob der eingegebene Text mit dem gesamten Inhalt der Eigenschaft RequiredString übereinstimmen muss oder nur den Eigenschaftswert RequiredString enthalten muss. |
RequiredString |
string |
Die Zeichenfolge, die mit dem vom Benutzer bereitgestellten Wert verglichen wird. |
ValidationBehavior-Eigenschaften
Die folgenden Eigenschaften werden in der Basisklasse public abstract class ValidationBehavior
implementiert:
Eigenschaft | Typ | Beschreibung |
---|---|---|
Flags |
ValidationFlags |
Stellt einen Enumerationswert bereit, der angibt, wie die Validierung behandelt werden soll. |
ForceValidateCommand |
ICommand |
Ermöglicht es dem Benutzer, einen benutzerdefinierten ICommand bereitzustellen, der die Validierung erzwingt. |
InvalidStyle |
Style |
Der Style , der auf das Element angewendet werden soll, wenn die Validierung fehlschlägt. |
IsNotValid |
bool |
Gibt an, ob der aktuelle Wert als ungültig betrachtet wird oder nicht. |
IsRunning |
bool |
Gibt an, ob die Validierung jetzt ausgeführt wird oder nicht (Warten auf einen asynchronen Aufruf ist beendet). |
IsValid |
bool |
Gibt an, ob der aktuelle Wert als gültig betrachtet wird oder nicht. |
ValidStyle |
Style |
Der Style , der auf das Element angewendet werden soll, 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 für die Validierung verwendet wird. |
Beispiele
Sie finden ein Beispiel für dieses Verhalten in Aktion in der Beispielanwendung für das .NET MAUI Community Toolkit.
API
Sie finden den Quellcode für RequiredStringValidationBehavior
über das GitHub-Repository für das .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit