SetFocusOnEntryCompletedBehavior
SetFocusOnEntryCompletedBehavior
ist ein Behavior
, das ein angegebenes VisualElement
-Element fokussiert, wenn ein Entry
-Vorgang abgeschlossen wird. Beispielsweise kann eine Seite mehrere Entry
s nacheinander enthalten, und das macht es für den Benutzer praktisch, wenn der Fokus beim Abschließen eines Entry
s automatisch zum nächsten Entry
wechselt.
Syntax
In den folgenden Beispielen wird gezeigt, wie Sie SetFocusOnEntryCompletedBehavior
zu einem Entry
hinzufügen, sodass der Fokus beim Drücken der Next
-Schaltfläche auf der Bildschirmtastatur zu einem anderen Entry
wechselt.
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 SetFocusOnEntryCompletedBehavior
SetFocusOnEntryCompletedBehavior
kann wie folgt in XAML verwendet werden:
<?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#
SetFocusOnEntryCompletedBehavior
kann wie folgt in C# verwendet werden:
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
}
};
}
}
C#-Markup
Das Paket CommunityToolkit.Maui.Markup
bietet eine viel präzisere Möglichkeit, dieses Verhalten in C# zu verwenden.
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);
}
}
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 SetFocusOnEntryCompletedBehavior
über das GitHub-Repository für das .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit