SetFocusOnEntryCompletedBehavior
Le SetFocusOnEntryCompletedBehavior
est un Behavior
qui donne le focus à un VisualElement
spécifié quand une Entry
a été effectuée. Par exemple, si une page comporte plusieurs Entry
à la suite, il est pratique pour l’utilisateur finalisant une Entry
de voir le focus passer automatiquement à la prochaine Entry
.
Syntaxe
Les exemples suivants montrent comment ajouter SetFocusOnEntryCompletedBehavior
à une Entry
de sorte que, lorsque l’utilisateur appuie sur le bouton Next
sur le clavier logiciel, le focus passe à une autre Entry
.
XAML
Y compris l’espace de noms XAML
Pour utiliser le kit de ressources dans XAML, le xmlns
suivant doit être ajouté à votre page ou à votre affichage :
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Il en résulte ce qui suit :
<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>
Serait modifié pour inclure le xmlns
de la manière suivante :
<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>
Utilisation de SetFocusOnEntryCompletedBehavior
Le SetFocusOnEntryCompletedBehavior
peut être utilisé de la manière suivante dans XAML :
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.Behaviors.SetFocusOnEntryCompletedBehaviorPage"
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">
<VerticalStackLayout Spacing="12">
<Entry
x:Name="FirstNameEntry"
toolkit:SetFocusOnEntryCompletedBehavior.NextElement="{x:Reference LastNameEntry}"
Placeholder="Entry 1 (Tap `Next` on the keyboard when finished)"
ReturnType="Next" />
<Entry
x:Name="LastNameEntry" />
</VerticalStackLayout>
</ContentPage>
C#
Le SetFocusOnEntryCompletedBehavior
peut être utilisé de la manière suivante dans C# :
class SetFocusOnEntryCompletedBehaviorPage : ContentPage
{
public SetFocusOnEntryCompletedBehaviorPage()
{
var firstName = new Entry
{
Placeholder = "Entry 1 (Tap `Next` on the keyboard when finished)",
ReturnType = ReturnType.Next
};
var lastName = new Entry();
SetFocusOnEntryCompletedBehavior.SetNextElement(firstName, lastName);
Content = new VerticalStackLayout
{
Spacing = 12,
Children =
{
firstName,
lastName
}
};
}
}
Balisage C#
Notre package CommunityToolkit.Maui.Markup
offre un moyen beaucoup plus concis d’utiliser ce comportement en C#.
using CommunityToolkit.Maui.Markup;
class SetFocusOnEntryCompletedBehaviorPage : ContentPage
{
public SetFocusOnEntryCompletedBehaviorPage()
{
Content = new VerticalStackLayout
{
Spacing = 12,
Children =
{
new Entry { ReturnType = ReturnType.Next }
.Assign(out var firstName)
.Placeholder("Entry 1 (Tap `Next` on the keyboard when finished)"),
new Entry()
.Assign(out var lastName)
}
};
SetFocusOnEntryCompletedBehavior.SetNextElement(firstName, lastName);
}
}
Exemples
Vous trouverez un exemple de ce comportement en action dans l’Exemple d’application du kit de ressources de la communauté .NET MAUI.
API
Vous pouvez trouver le code source deSetFocusOnEntryCompletedBehavior
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit