MaxLengthReachedBehavior
MaxLengthReachedBehavior
è un oggetto Behavior
che consente all'utente di attivare un'azione quando un utente ha raggiunto la lunghezza massima consentita in un oggetto InputView
. Può attivare un Command
evento o a seconda dello scenario preferito dell'utente. Sia l'evento Command
e includeranno il testo risultante dell'oggetto InputView
.
Inoltre, è possibile ignorare la tastiera quando viene raggiunta la lunghezza massima tramite la ShouldDismissKeyboardAutomatically
proprietà che per impostazione predefinita è false
.
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
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 MaxLengthReachedBehavior
Può MaxLengthReachedBehavior
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.MaxLengthReachedBehaviorPage"
x:Name="Page">
<Entry Placeholder="Start typing until MaxLength is reached..."
MaxLength="100">
<Entry.Behaviors>
<toolkit:MaxLengthReachedBehavior
Command="{Binding Source={x:Reference Page}, Path=BindingContext.MaxLengthReachedCommand}" />
</Entry.Behaviors>
</Entry>
</ContentPage>
C#
Può MaxLengthReachedBehavior
essere usato come indicato di seguito in C#:
class MaxLengthReachedBehaviorPage : ContentPage
{
public MaxLengthReachedBehaviorPage()
{
var entry = new Entry
{
Placeholder = "Start typing until MaxLength is reached...",
MaxLength = 100
};
var behavior = new MaxLengthReachedBehavior();
behavior.SetBinding(
MaxLengthReachedBehavior.CommandProperty,
new Binding(
nameof(ViewModel.MaxLengthReachedCommand)
)
);
entry.Behaviors.Add(behavior);
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 MaxLengthReachedBehaviorPage : ContentPage
{
public MaxLengthReachedBehaviorPage()
{
Content = new Entry
{
Placeholder = "Start typing until MaxLength is reached...",
MaxLength = 100
}.Behaviors(
new MaxLengthReachedBehavior().Bind(
MaxLengthReachedBehavior.CommandProperty,
static (ViewModel vm) => vm.MaxLengthReachedCommand));
}
}
Proprietà
Proprietà | Type | Descrizione |
---|---|---|
Command |
ICommand | Comando eseguito quando l'utente ha raggiunto la lunghezza massima. Il parametro del comando conterrà l'oggetto Text dell'oggetto InputView . |
ShouldDismissKeyboardAutomatically |
bool |
Indica se la tastiera deve essere chiusa automaticamente quando viene raggiunta la lunghezza massima. |
evento
Evento | Descrizione |
---|---|
MaxLengthReached |
Evento generato quando l'utente ha raggiunto la lunghezza massima. Gli argomenti dell'evento conterranno l'oggetto Text dell'oggetto InputView . |
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 MaxLengthReachedBehavior
over nel repository GitHub di .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit