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.
Das UriValidationBehavior ist eine Behavior, mit der Benutzer feststellen können, ob eine Texteingabe ein gültiger URI ist. Ein Entry Steuerelement kann beispielsweise je nachdem, ob ein gültiger oder ein ungültiger URI angegeben wird, unterschiedlich gestaltet werden.
Important
.NET MAUI Community Toolkit Behaviors legt den 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
Die folgenden Beispiele zeigen, wie Sie das UriValidationBehavior zu einem Entry hinzufügen und das TextColor abhängig davon ändern, ob der eingegebene Text eine gültige absolute URI 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 UriValidationBehavior
Die UriValidationBehavior 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.UriValidationBehaviorPage">
<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:UriValidationBehavior
InvalidStyle="{StaticResource InvalidEntryStyle}"
ValidStyle="{StaticResource ValidEntryStyle}"
Flags="ValidateOnValueChanged"
UriKind="Absolute" />
</Entry.Behaviors>
</Entry>
</ContentPage>
C#
Die UriValidationBehavior kann wie folgt in C# verwendet werden:
class UriValidationBehaviorPage : ContentPage
{
public UriValidationBehaviorPage()
{
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 uriValidationBehavior = new UriValidationBehavior
{
InvalidStyle = invalidStyle,
ValidStyle = validStyle,
Flags = ValidationFlags.ValidateOnValueChanged,
UriKind = UriKind.Absolute
};
entry.Behaviors.Add(uriValidationBehavior);
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 UriValidationBehaviorPage : ContentPage
{
public UriValidationBehaviorPage()
{
Content = new Entry()
.Behaviors(new UriValidationBehavior
{
InvalidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Red),
ValidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Green),
Flags = ValidationFlags.ValidateOnValueChanged,
UriKind = UriKind.Absolute
});
}
}
Der folgende Screenshot zeigt den resultierenden UriValidationBehavior unter 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. |
UriKind |
UriKind |
Bestimmt den Typ des URI, der als gültig akzeptiert werden soll. |
ValidationBehavior-Eigenschaften
Die folgenden Eigenschaften werden in der Basisklasse public abstract class ValidationBehaviorimplementiert:
| 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 UriValidationBehavior im .NET MAUI Community Toolkit GitHub Repository.
.NET MAUI Community Toolkit