Klucze dostępu VisualElement w systemie Windows
dostępu to skróty klawiaturowe, które zwiększają użyteczność i dostępność aplikacji na platformie platforma uniwersalna systemu Windows (UWP), zapewniając intuicyjny sposób na szybkie nawigowanie po widocznym interfejsie użytkownika aplikacji i interakcję z nim za pomocą klawiatury zamiast za pomocą dotyku lub myszy. Są to kombinacje Alt i co najmniej jednego alfanumerycznego, zwykle naciskanych sekwencyjnie. Skróty klawiaturowe są automatycznie obsługiwane w przypadku kluczy dostępu korzystających z pojedynczego znaku alfanumerycznego.
Porady dotyczące klucza dostępu to przestawne znaczki wyświetlane obok kontrolek zawierających klucze dostępu. Każda porada klucza dostępu zawiera klucze alfanumeryczne, które aktywują skojarzona kontrolkę. Gdy użytkownik naciśnie Alt, zostaną wyświetlone porady dotyczące dostępu.
Ten specyficzny dla platformy UWP służy do określania klucza dostępu dla elementu VisualElement
. Jest on używany w języku XAML, ustawiając VisualElement.AccessKey
dołączoną właściwość na wartość alfanumeryczną, a opcjonalnie ustawiając VisualElement.AccessKeyPlacement
dołączoną właściwość na wartość AccessKeyPlacement
wyliczenia, VisualElement.AccessKeyHorizontalOffset
dołączoną właściwość do double
elementu i VisualElement.AccessKeyVerticalOffset
dołączoną właściwość do double
elementu :
<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>
Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:
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);
...
Metoda VisualElement.On<Windows>
określa, że ta platforma będzie działać tylko na platforma uniwersalna systemu Windows. Metoda VisualElement.SetAccessKey
w Xamarin.Forms.PlatformConfiguration.WindowsSpecific
przestrzeni nazw służy do ustawiania wartości klucza dostępu dla VisualElement
. Metoda VisualElement.SetAccessKeyPlacement
, opcjonalnie określa pozycję do użycia do wyświetlania końcówki klucza dostępu, z AccessKeyPlacement
wyliczeniem zawierającym następujące możliwe wartości:
Auto
— wskazuje, że umieszczanie wskazówek klucza dostępu zostanie określone przez system operacyjny.Top
— wskazuje, że wskazówka klucza dostępu będzie wyświetlana nad górną krawędzią .VisualElement
Bottom
— wskazuje, że porada klucza dostępu będzie wyświetlana poniżej dolnej krawędzi .VisualElement
Right
— wskazuje, że porada klucza dostępu będzie widoczna po prawej stronie prawej krawędziVisualElement
.Left
— wskazuje, że porada klucza dostępu będzie widoczna po lewej stronie lewej krawędzi .VisualElement
Center
— wskazuje, że na środku obiektuVisualElement
pojawi się przeładuj porada klucza dostępu.
Uwaga
Zazwyczaj umieszczanie Auto
kluczowych wskazówek jest wystarczające, co obejmuje obsługę adaptacyjnego interfejsu użytkownika.
Metody VisualElement.SetAccessKeyHorizontalOffset
i VisualElement.SetAccessKeyVerticalOffset
mogą służyć do bardziej szczegółowej kontroli lokalizacji klucza dostępu. Argument SetAccessKeyHorizontalOffset
metody wskazuje, jak daleko przenieść wskazówkę klucza dostępu w lewo lub w prawo, a argument SetAccessKeyVerticalOffset
do metody wskazuje, jak daleko przenieść końcówkę klucza dostępu w górę lub w dół.
Uwaga
Nie można ustawić przesunięć wskazówek klucza dostępu, gdy ustawiono Auto
umieszczanie klucza dostępu.
Ponadto GetAccessKey
metody , GetAccessKeyPlacement
, GetAccessKeyHorizontalOffset
i GetAccessKeyVerticalOffset
mogą służyć do pobierania wartości klucza dostępu i lokalizacji.
Wynikiem jest to, że wskazówki dotyczące klucza dostępu można wyświetlić obok wszystkich VisualElement
wystąpień definiujących klucze dostępu, naciskając Alt:
Gdy użytkownik aktywuje klucz dostępu, naciskając Alt, po którym następuje klucz dostępu, zostanie wykonana domyślna akcja dla elementu VisualElement
. Na przykład gdy użytkownik aktywuje klucz dostępu w obiekcie Switch
, Switch
parametr jest przełączany. Gdy użytkownik aktywuje klucz dostępu na obiekcie Entry
, Entry
zyska fokus. Gdy użytkownik aktywuje klucz dostępu w obiekcie Button
, jest wykonywana procedura obsługi zdarzeń dla Clicked
zdarzenia.
Ostrzeżenie
Domyślnie po wyświetleniu modalnego okna dialogowego wszystkie klucze dostępu zdefiniowane na stronie za oknie dialogowym mogą być nadal aktywowane. Jednak logika niestandardowa może być zapisywana w celu wyłączenia kluczy dostępu w tym scenariuszu. Można to osiągnąć, obsługując Dispatcher.AcceleratorKeyActivated
zdarzenie w MainPage
klasie projektu platformy UWP, a w procedurze obsługi zdarzeń ustawiając Handled
właściwość argumentów zdarzeń na true
czas wyświetlania modalnego okna dialogowego.
Aby uzyskać więcej informacji na temat kluczy dostępu, zobacz Klucze dostępu.