VisualElement first responder on iOS
Mit dieser plattformspezifischen iOS-Plattform kann ein VisualElement
Objekt nicht die Seite, die das Element enthält, zum ersten Responder für Touchereignisse werden. Sie wird in XAML genutzt, indem sie die VisualElement.CanBecomeFirstResponder
bindungsfähige Eigenschaft auf true
setzt:
<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>
Alternativ kann sie mit der Fluent-API von C# genutzt werden:
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);
Die Methode VisualElement.On<iOS>
gibt an, dass diese plattformspezifische Funktion nur unter iOS ausführbar ist. Die VisualElement.SetCanBecomeFirstResponder
Methode im Xamarin.Forms.PlatformConfiguration.iOSSpecific
Namespace wird verwendet, um den VisualElement
ersten Responder für Touchereignisse zu werden. Darüber hinaus kann die VisualElement.CanBecomeFirstResponder
Methode verwendet werden, um zurückzugeben, ob es sich bei dem VisualElement
ersten Responder um Touchereignisse handelt.
Das Ergebnis ist, dass ein VisualElement
Benutzer anstelle der Seite, die das Element enthält, der erste Responder für Touchereignisse werden kann. Dies ermöglicht Szenarien wie Chatanwendungen, die eine Tastatur nicht schließen, wenn sie Button
angetippt wird.