UriValidationBehavior
UriValidationBehavior
è un oggetto Behavior
che consente agli utenti di determinare se l'input di testo è un URI valido. Ad esempio, un Entry
controllo può essere stilizzato in modo diverso a seconda che venga fornito un URI valido o non valido.
Importante
I comportamenti di .NET MAUI Community Toolkit non impostano l'oggetto BindingContext
di un comportamento, perché i comportamenti possono essere condivisi e applicati a più controlli tramite stili. Per altre informazioni, vedere Comportamenti MAUI di .NET
Sintassi
Negli esempi seguenti viene illustrato come aggiungere a e Entry
modificare l'oggetto TextColor
UriValidationBehavior
in base al fatto che il testo immesso sia un URI assoluto valido.
XAML
Inclusione dello spazio dei nomi XAML
Per usare il toolkit in XAML, è necessario aggiungere le informazioni seguenti xmlns
nella pagina o nella visualizzazione:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Di conseguenza:
<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>
Verrà modificato in modo da includere l'oggetto xmlns
come indicato di seguito:
<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>
Uso di UriValidationBehavior
Può UriValidationBehavior
essere usato come segue in 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.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#
Può UriValidationBehavior
essere usato come indicato di seguito in C#:
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
Il CommunityToolkit.Maui.Markup
pacchetto offre un modo molto più conciso per usarlo Behavior
in C#.
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
});
}
}
Lo screenshot seguente mostra l'UriValidationBehavior risultante in Android:
Proprietà
Proprietà | Type | Descrizione |
---|---|---|
DecorationFlags |
TextDecorationFlags |
Fornisce un valore enumerato da utilizzare per impostare la modalità di gestione degli spazi vuoti. |
MaximumLength |
int |
Lunghezza massima del valore che sarà consentito. |
MinimumLength |
int |
Lunghezza minima del valore che sarà consentito. |
RegexOptions |
RegexOptions |
Fornisce valori enumerati da usare per impostare le opzioni delle espressioni regolari. |
RegexPattern |
string |
Modello di espressione regolare che dovrà corrispondere al valore prima che venga consentito. |
UriKind |
UriKind |
Determina il tipo di URI da accettare come valido. |
Proprietà ValidationBehavior
Le proprietà seguenti vengono implementate nella classe base : public abstract class ValidationBehavior
Proprietà | Type | Descrizione |
---|---|---|
Flags |
ValidationFlags |
Fornisce un valore enumerato che specifica come gestire la convalida. |
ForceValidateCommand |
ICommand |
Consente all'utente di fornire un oggetto personalizzato ICommand che gestisce la convalida forzata. |
InvalidStyle |
Style |
Oggetto Style da applicare all'elemento in caso di esito negativo della convalida. |
IsNotValid |
bool |
Indica se il valore corrente è considerato non valido. |
IsRunning |
bool |
Indica se la convalida è in corso ora (in attesa del completamento di una chiamata asincrona). |
IsValid |
bool |
Indica se il valore corrente è considerato valido o meno. |
ValidStyle |
Style |
Oggetto Style da applicare all'elemento quando la convalida ha esito positivo. |
Value |
object |
Valore da convalidare. |
ValuePropertyName |
string |
Consente all'utente di eseguire l'override della proprietà che verrà utilizzata come valore da convalidare. |
Esempi
È possibile trovare un esempio di questo comportamento in azione nell'applicazione di esempio .NET MAUI Community Toolkit.
API
È possibile trovare il codice sorgente per UriValidationBehavior
over nel repository GitHub di .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit