MaxLengthReachedBehavior
MaxLengthReachedBehavior
ist ein Behavior
, das es Benutzern ermöglicht, eine Aktion auszulösen, wenn ein Benutzer die für InputView
zulässige maximale Länge erreicht hat. Je nach bevorzugtem Szenario des Benutzers kann ein Command
oder ein Ereignis ausgelöst werden. Sowohl die Command
als auch das Ereignis enthalten den resultierenden Text des InputView
.
Darüber hinaus ist es möglich, die Tastatur zu schließen, wenn die maximale Länge über die Eigenschaft ShouldDismissKeyboardAutomatically
erreicht wird, die standardmäßig auf false
festgelegt ist.
Wichtig
.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
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 des MaxLengthReachedBehavior
MaxLengthReachedBehavior
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.MaxLengthReachedBehaviorPage"
x:Name="Page">
<Entry Placeholder="Start typing until MaxLength is reached..."
MaxLength="100"
x:Name="MaxLengthEntry">
<Entry.Behaviors>
<toolkit:MaxLengthReachedBehavior
BindingContext="{Binding Path=BindingContext, Source={x:Reference MaxLengthEntry}, x:DataType=Entry}"
Command="{Binding Source={x:Reference Page}, Path=BindingContext.MaxLengthReachedCommand, x:DataType=ContentPage}" />
</Entry.Behaviors>
</Entry>
</ContentPage>
C#
MaxLengthReachedBehavior
kann wie folgt in C# verwendet werden:
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,
static (MaxLengthReachedBehaviorViewModel vm) => vm.MaxLengthReachedCommand,
source: this.BindingContext);
entry.Behaviors.Add(behavior);
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 MaxLengthReachedBehaviorPage : ContentPage
{
public MaxLengthReachedBehaviorPage()
{
Content = new Entry
{
Placeholder = "Start typing until MaxLength is reached...",
MaxLength = 100
}.Behaviors(
new MaxLengthReachedBehavior()
.Bind(MaxLengthReachedBehavior.CommandProperty,
getter: static (ViewModel vm) => vm.MaxLengthReachedCommand,
source: this.BindingContext));
}
}
Eigenschaften
Eigenschaft | Typ | Beschreibung |
---|---|---|
Command |
ICommand | Der Befehl, der ausgeführt wird, wenn der Benutzer die maximale Länge erreicht hat. Der Parameter des Befehls enthält den Text des InputView . |
ShouldDismissKeyboardAutomatically |
bool |
Gibt an, ob die Tastatur automatisch geschlossen werden soll, wenn die maximale Länge erreicht ist. |
Ereignisse
Event | Beschreibung |
---|---|
MaxLengthReached |
Das Ereignis, das ausgelöst wird, wenn der Benutzer die maximale Länge erreicht hat. Die Ereignisargumente enthalten den Text des InputView . |
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 MaxLengthReachedBehavior
über das GitHub-Repository für das .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit