Clés d’accès VisualElement sur Windows
Les touches d’accès sont des raccourcis clavier qui améliorent la facilité d’utilisation et l’accessibilité des applications sur le plateforme Windows universelle (UWP) en offrant aux utilisateurs un moyen intuitif de naviguer rapidement et d’interagir avec l’interface utilisateur visible de l’application via un clavier plutôt que par le biais de l’interaction tactile ou d’une souris. Il s’agit de combinaisons de la touche Alt et d’une ou plusieurs touches alphanumériques, généralement enfoncées séquentiellement. Les raccourcis clavier sont automatiquement pris en charge pour les touches d’accès qui utilisent un seul caractère alphanumérique.
Les touches d’accès sont des badges flottants affichés en regard des contrôles qui incluent des clés d’accès. Chaque touche d’accès contient les clés alphanumériques qui activent le contrôle associé. Lorsqu’un utilisateur appuie sur la touche Alt, les touches d’accès s’affichent.
Cette plateforme UWP spécifique est utilisée pour spécifier une clé d’accès pour un VisualElement
. Il est consommé en XAML en définissant la VisualElement.AccessKey
propriété jointe sur une valeur alphanumérique et en définissant éventuellement la VisualElement.AccessKeyPlacement
propriété jointe sur une valeur de l’énumération AccessKeyPlacement
, la VisualElement.AccessKeyHorizontalOffset
propriété jointe sur un double
et la VisualElement.AccessKeyVerticalOffset
propriété jointe sur un double
:
<TabbedPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<ContentPage Title="Page 1"
windows:VisualElement.AccessKey="1">
<StackLayout Margin="20">
...
<Switch windows:VisualElement.AccessKey="A" />
<Entry Placeholder="Enter text here"
windows:VisualElement.AccessKey="B" />
...
<Button Text="Access key F, placement top with offsets"
Margin="20"
Clicked="OnButtonClicked"
windows:VisualElement.AccessKey="F"
windows:VisualElement.AccessKeyPlacement="Top"
windows:VisualElement.AccessKeyHorizontalOffset="20"
windows:VisualElement.AccessKeyVerticalOffset="20" />
...
</StackLayout>
</ContentPage>
...
</TabbedPage>
Vous pouvez également la consommer à partir de C# à l’aide de l’API Fluent :
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
var page = new ContentPage { Title = "Page 1" };
page.On<Windows>().SetAccessKey("1");
var switchView = new Switch();
switchView.On<Windows>().SetAccessKey("A");
var entry = new Entry { Placeholder = "Enter text here" };
entry.On<Windows>().SetAccessKey("B");
...
var button4 = new Button { Text = "Access key F, placement top with offsets", Margin = new Thickness(20) };
button4.Clicked += OnButtonClicked;
button4.On<Windows>()
.SetAccessKey("F")
.SetAccessKeyPlacement(AccessKeyPlacement.Top)
.SetAccessKeyHorizontalOffset(20)
.SetAccessKeyVerticalOffset(20);
...
La VisualElement.On<Windows>
méthode spécifie que cette méthode spécifique à la plateforme s’exécutera uniquement sur le plateforme Windows universelle. La VisualElement.SetAccessKey
méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.WindowsSpecific
de noms, est utilisée pour définir la valeur de la clé d’accès pour .VisualElement
La VisualElement.SetAccessKeyPlacement
méthode spécifie éventuellement la position à utiliser pour afficher l’info-bulle de touche d’accès, l’énumération AccessKeyPlacement
fournissant les valeurs possibles suivantes :
Auto
: indique que l’emplacement de l’info-bulle d’accès sera déterminé par le système d’exploitation.Top
: indique que l’info-bulle d’accès s’affiche au-dessus du bord supérieur duVisualElement
.Bottom
: indique que l’info-bulle de touche d’accès s’affiche sous le bord inférieur duVisualElement
.Right
: indique que l’info-bulle de touche d’accès s’affiche à droite du bord droit duVisualElement
.Left
: indique que l’info-bulle de touche d’accès s’affiche à gauche du bord gauche duVisualElement
.Center
: indique que l’info-bulle d’accès apparaît superposée au centre duVisualElement
.
Notes
En règle générale, le placement du Auto
conseil clé est suffisant, ce qui inclut la prise en charge des interfaces utilisateur adaptatives.
Les VisualElement.SetAccessKeyHorizontalOffset
méthodes et VisualElement.SetAccessKeyVerticalOffset
peuvent être utilisées pour un contrôle plus granulaire de l’emplacement de la touche d’accès. L’argument de la SetAccessKeyHorizontalOffset
méthode indique jusqu’à quelle distance déplacer l’info-bulle de touche d’accès vers la gauche ou la droite, et l’argument de la SetAccessKeyVerticalOffset
méthode indique jusqu’à quelle distance déplacer l’info-bulle de touche d’accès vers le haut ou vers le bas.
Notes
Les décalages de touche d’accès ne peuvent pas être définis lorsque le placement de la clé d’accès est défini Auto
.
En outre, les GetAccessKey
méthodes , GetAccessKeyPlacement
, GetAccessKeyHorizontalOffset
et GetAccessKeyVerticalOffset
peuvent être utilisées pour récupérer une valeur de clé d’accès et son emplacement.
Le résultat est que les touches d’accès peuvent être affichées à côté de toutes VisualElement
les instances qui définissent des touches d’accès, en appuyant sur la touche Alt :
Lorsqu’un utilisateur active une touche d’accès, en appuyant sur la touche Alt suivie de la touche d’accès, l’action par défaut pour le VisualElement
est exécutée. Par exemple, lorsqu’un utilisateur active la clé d’accès sur un Switch
, le Switch
est activé. Lorsqu’un utilisateur active la clé d’accès sur un Entry
, le obtient le Entry
focus. Lorsqu’un utilisateur active la clé d’accès sur un Button
, le gestionnaire d’événements de l’événement Clicked
est exécuté.
Avertissement
Par défaut, lorsqu’une boîte de dialogue modale s’affiche, toutes les clés d’accès définies sur la page derrière la boîte de dialogue peuvent toujours être activées. Toutefois, une logique personnalisée peut être écrite pour désactiver les clés d’accès dans ce scénario. Pour ce faire, vous pouvez gérer l’événement Dispatcher.AcceleratorKeyActivated
dans la MainPage
classe de votre projet UWP et dans le gestionnaire d’événements en définissant la Handled
propriété des arguments true
d’événement sur lorsqu’une boîte de dialogue modale est affichée.
Pour plus d’informations sur les clés d’accès, consultez Clés d’accès.