Teclas de acesso VisualElement no Windows

As teclas de acesso são atalhos de teclado que melhoram a usabilidade e a acessibilidade dos aplicativos no Windows, fornecendo uma maneira intuitiva para os usuários navegarem e interagirem rapidamente com a interface do usuário visível do aplicativo por meio de um teclado em vez de por meio de toque ou mouse. São combinações da tecla Alt e uma ou mais teclas alfanuméricas, normalmente pressionadas sequencialmente. Os atalhos de teclado são automaticamente suportados para teclas de acesso que usam um único caractere alfanumérico.

As dicas de tecla de acesso são emblemas flutuantes exibidos ao lado de controles que incluem chaves de acesso. Cada dica de tecla de acesso contém as chaves alfanuméricas que ativam o controle associado. Quando um usuário pressiona a tecla Alt, as dicas da tecla de acesso são exibidas.

Esta interface do usuário do aplicativo multiplataforma .NET (.NET Maui) específica da plataforma Windows é usada para especificar uma chave de acesso para um VisualElementarquivo . Ele é consumido em XAML definindo a propriedade anexada como um valor alfanumérico e, opcionalmente, definindo a propriedade anexada como um valor da enumeração, a propriedade anexada AccessKeyPlacement como um , e a VisualElement.AccessKeyHorizontalOffsetVisualElement.AccessKeyPlacement propriedade anexada VisualElement.AccessKeyVerticalOffsetVisualElement.AccessKey como um doubledouble:

<TabbedPage ...
            xmlns:windows="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;assembly=Microsoft.Maui.Controls">
    <ContentPage Title="Page 1"
                 windows:VisualElement.AccessKey="1">
        <StackLayout>
            ...
            <Switch windows:VisualElement.AccessKey="A" />
            <Entry Placeholder="Enter text here"
                   windows:VisualElement.AccessKey="B" />
            ...
            <Button Text="Access key F, placement top with offsets"
                    Clicked="OnButtonClicked"
                    windows:VisualElement.AccessKey="F"
                    windows:VisualElement.AccessKeyPlacement="Top"
                    windows:VisualElement.AccessKeyHorizontalOffset="20"
                    windows:VisualElement.AccessKeyVerticalOffset="20" />
            ...
        </StackLayout>
    </ContentPage>
    ...
</TabbedPage>

Como alternativa, ele pode ser consumido do C# usando a API fluente:

using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;
...

var page = new ContentPage { Title = "Page 1" };
page.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>().SetAccessKey("1");

var switchView = new Switch();
switchView.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>().SetAccessKey("A");
var entry = new Entry { Placeholder = "Enter text here" };
entry.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>().SetAccessKey("B");
...

var button4 = new Button { Text = "Access key F, placement top with offsets" };
button4.Clicked += OnButtonClicked;
button4.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>()
    .SetAccessKey("F")
    .SetAccessKeyPlacement(AccessKeyPlacement.Top)
    .SetAccessKeyHorizontalOffset(20)
    .SetAccessKeyVerticalOffset(20);
...

O VisualElement.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows> método especifica que esse específico da plataforma só será executado no Windows. O VisualElement.SetAccessKey método, no Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific namespace, é usado para definir o valor da chave de acesso para o VisualElement. O VisualElement.SetAccessKeyPlacement método, opcionalmente, especifica a posição a ser usada para exibir a dica de chave de acesso, com a AccessKeyPlacement enumeração fornecendo os seguintes valores possíveis:

  • Auto – indica que o posicionamento da ponta da chave de acesso será determinado pelo sistema operacional.
  • Top – indica que a ponta da tecla de acesso aparecerá acima da borda superior do VisualElement.
  • Bottom – indica que a ponta da tecla de acesso aparecerá abaixo da borda inferior do VisualElement.
  • Right – indica que a ponta da tecla de acesso aparecerá à direita da borda direita do VisualElement.
  • Left – indica que a ponta da tecla de acesso aparecerá à esquerda da borda esquerda do VisualElement.
  • Center – indica que a ponta da tecla de acesso aparecerá sobreposta no centro do VisualElement.

Observação

Normalmente, o posicionamento da dica de tecla é suficiente, o Auto que inclui suporte para interfaces de usuário adaptáveis.

Os VisualElement.SetAccessKeyHorizontalOffset métodos e VisualElement.SetAccessKeyVerticalOffset podem ser usados para um controle mais granular do local da ponta da chave de acesso. O argumento para o método indica até onde mover a ponta da tecla de acesso para a esquerda ou para a direita, e o argumento para o SetAccessKeyHorizontalOffsetSetAccessKeyVerticalOffset método indica até onde mover a ponta da tecla de acesso para cima ou para baixo.

Observação

Os deslocamentos de dica de chave de acesso não podem ser definidos quando o posicionamento da chave de acesso é definido Auto.

Além disso, os GetAccessKeymétodos , , GetAccessKeyPlacementGetAccessKeyHorizontalOffsete podem ser usados para recuperar um valor de chave de acesso e GetAccessKeyVerticalOffset seu local.

O resultado é que as dicas de teclas de acesso podem ser exibidas ao lado de quaisquer VisualElement instâncias que definam teclas de acesso, pressionando a tecla Alt:

VisualElement access keys platform-specific.

Quando um usuário ativa uma tecla de acesso, pressionando a tecla Alt seguida da tecla de acesso, a ação padrão para o VisualElement será executada. Por exemplo, quando um usuário ativa a tecla de acesso em um Switch, o Switch é alternado. Quando um usuário ativa a chave de acesso em um Entry, os Entry ganhos se concentram. Quando um usuário ativa a chave de acesso em um Button, o manipulador de eventos para o Clicked evento é executado.

Para obter mais informações sobre chaves de acesso, consulte Chaves de acesso.