Udostępnij za pośrednictwem


Klucze dostępu VisualElement w systemie Windows

Klawisze 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 klawisza Alt i co najmniej jednego klawisza 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 klawisz Alt, zostaną wyświetlone porady dotyczące klawisza 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 doubleelementu i VisualElement.AccessKeyVerticalOffset dołączoną właściwość do doubleelementu :

<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ędzi VisualElement.
  • Left— wskazuje, że porada klucza dostępu będzie widoczna po lewej stronie lewej krawędzi .VisualElement
  • Center — wskazuje, że na środku obiektu VisualElementpojawi 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 Autoumieszczanie klucza dostępu.

Ponadto GetAccessKeymetody , GetAccessKeyPlacement, GetAccessKeyHorizontalOffseti 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 klawisz Alt:

Klucze dostępu visualElement specyficzne dla platformy

Gdy użytkownik aktywuje klucz dostępu, naciskając klawisz 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.