Partager via


Premier répondeur VisualElement sur iOS

Cette plateforme iOS spécifique permet à un VisualElement objet de devenir le premier répondeur aux événements tactiles, au lieu de la page contenant l’élément. Elle est consommée en XAML en définissant la VisualElement.CanBecomeFirstResponder propriété pouvant être liée sur true:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        <Entry Placeholder="Enter text" />
        <Button ios:VisualElement.CanBecomeFirstResponder="True"
                Text="OK" />
    </StackLayout>
</ContentPage>

Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

Entry entry = new Entry { Placeholder = "Enter text" };
Button button = new Button { Text = "OK" };
button.On<iOS>().SetCanBecomeFirstResponder(true);

La VisualElement.On<iOS> méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La VisualElement.SetCanBecomeFirstResponder méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, est utilisée pour définir le VisualElement premier répondeur pour les événements tactiles. En outre, la VisualElement.CanBecomeFirstResponder méthode peut être utilisée pour retourner si le VisualElement premier répondeur aux événements tactiles.

Le résultat est qu’un VisualElement répondeur peut devenir le premier répondeur pour les événements tactiles, plutôt que la page contenant l’élément. Cela permet des scénarios tels que les applications de conversation qui ne ignorent pas un clavier lorsqu’un Button clavier est appuyé.