Freigeben über


UserStoppedTypingBehavior

UserStoppedTypingBehavior ist ein Behavior, das eine Aktion auslöst, wenn ein Benutzer oder eine Benutzerin die Dateneingabe für Steuerelemente beendet hat, z. B.:Entry, SearchBar, und Editor. Beispiele für die Verwendung sind das Auslösen einer Suche, wenn ein Benutzer oder eine Benutzerin die Eingabe seiner Suchabfrage beendet hat.

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 von UserStoppedTypingBehavior

UserStoppedTypingBehavior 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="MyLittleApp.MainPage"
    x:Name="Page">
     
            <Entry 
                Placeholder="Start typing when you stop the behavior will trigger..."
                x:Name="UserStoppedTypingEntry">
                <Entry.Behaviors>
                    <toolkit:UserStoppedTypingBehavior 
                        BindingContext="{Binding Path=BindingContext, Source={x:Reference UserStoppedTypingEntry}, x:DataType=Entry}"
                        Command="{Binding SearchCommand}"
                        StoppedTypingTimeThreshold="1000"
                        MinimumLengthThreshold="3"
                        ShouldDismissKeyboardAutomatically="True" />
                </Entry.Behaviors>
            </Entry>
</ContentPage>

C#

UserStoppedTypingBehavior kann wie folgt in C# verwendet werden:

class UserStoppedTypingBehaviorPage : ContentPage
{
    public UserStoppedTypingBehaviorPage()
    {
        var behavior = new UserStoppedTypingBehavior()
        {
            StoppedTypingTimeThreshold = 1000,
            MinimumLengthThreshold = 3,
            ShouldDismissKeyboardAutomatically = true
        };

        behavior.SetBinding(UserStoppedTypingBehavior.CommandProperty, 
                                static (ViewModel vm) => vm.SearchCommand,
                                source: this.BindingContext);

        var entry = new Entry
        {
            Placeholder = "Start typing when you stop the behavior will trigger..."
        };

        entry.Behaviors.Add(behavior);
    }
}

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 UserStoppedTypingBehaviorPage : ContentPage
{
    public UserStoppedTypingBehaviorPage()
    {
        Content = new Entry
        {
            Placeholder = "Start typing when you stop the behavior will trigger..."
        }
        .Behaviors(new UserStoppedTypingBehavior
        {
            StoppedTypingTimeThreshold = 1000,
            MinimumLengthThreshold = 3,
            ShouldDismissKeyboardAutomatically = true
        }.Bind(UserStoppedTypingBehavior.CommandProperty, 
                getter: static (ViewModel vm) => vm.SearchCommand,
                source: this.BindingContext,
                mode: BindingMode.OneTime));
    }
}

Eigenschaften

Eigenschaft Typ Beschreibung
Get-Help ICommand Der Befehl, der ausgeführt werden soll, wenn der Benutzer oder die Benutzerin aufgehört hat, etwas einzugeben.
MinimumLengthThreshold int Die Mindestlänge des Eingabewerts, der vor der Ausführung des Befehls erforderlich ist.
ShouldDismissKeyboardAutomatically bool Gibt an, ob die Tastatur automatisch geschlossen werden soll.
StoppedTypingTimeThreshold int Die Zeit der Inaktivität in Millisekunden, nach der der Befehl ausgeführt 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 UserStoppedTypingBehavior über das GitHub-Repository für das .NET MAUI Community Toolkit.