TOC

This article has been localized into Czech by the community.

Koncepce ovládání:

Přístupové klávesy

Koncept přístupových kláves Access Keys, někdy také zvané jako akcelerační klávesy Accelerator Keys nebo klávesové akcelerátory Keyboard Accelerators, vám dovoluje vybrat specificky ovládací prvek uvnitř okna současným podržením klávesy Alt a další klávesy na klávesnici. Toto vylepšuje použitelnost vašich oken, protože tak uživatel může místo myši používat k navigaci v okně svoji klávesnici.

Definování přístupových kláves Access Keys

Definování přístupových kláves pro váš WPF ovládací prvek je velmi jednoduché, ale metoda vás možná trochu překvapí. Obvykle by pro to existovala vlastnost, ale ne pro přístupové klávesy. Místo toho definujete přístupovou klávesu předřazením písmene s podtržítkem ve vlastnosti Text/Content ovládacího prvku. Například takto:

<Button Content="_New"></Button>

Podtržítko (_) před písmenem N z něj vytvoří přístupovou klávesu tlačítka uvedeného v příkladu. Výchozí podoba prvku se tímto nezmění, jak můžete vidět následujícím příkladu s přístupovými klávesami nastavenými u všech tlačítek:

Avšak, po stisknutí klávesy Alt na klávesnici jsou přístupové klávesy zvýrazněny podtržením:

Při držení stisknuté klávesy Alt, můžete nyní stisknout jednu z přístupových kláves (např. N, O nebo S) k aktivaci konkrétního tlačítka. Tlačítko zareaguje, jako by bylo kliknuto myší.

Přístupové klávesy jsou dobré pro jednotlivé prvky v dialogu/okně, ale jsou ještě užitečnější v tradičních Windows menu, kde obvykle musíte proklikávat hierarchii položek menu, než dosáhnete té, kterou potřebujete. Zde je příklad z Visual Studio:

V tomto případě, místo nutnosti navigovat menu několika pohyby myši a kliknutími, když chci zahájit nový Projekt, mohu držet stisknutou klávesu Alt a poté stisknout F (pro File (Soubor)), poté N (pro New (Nový)) a poté P (pro Projekt). Jistě, to samé by šlo dosáhnout také běžnou klávesovou zkratkou (Ctrl+Shift+N), ale tato zkratka není viditelná, dokud nedosáhnete poslední úrovně hierarchie menu, takže pokud ji už neznáte zpaměti, může být jednodušší použít přístupové klávesy, protože jsou vizuálně zvýrazněny, jakmile stisknete klávesu Alt.

Které znaky by měly být použity jako přístupové klíče?

Může vás lákat použít libovolný ze znaků nalezených v textu nebo obsahu ovládacího prvku, ale existují skutečně pokyny pro výběr správného znaku. Nejdůležitějším pravidlem je samozřejmě vybrat znak, který již není použit jiným ovládacím prvkem, ale kromě toho byste měli použít následující pokyny:

  • Použijte první znak prvního slova
  • Pokud to není možné, použijte první znak druhého nebo třetího slova (např. A v Save As (Uložit jako)
  • Pokud to není možné, použijte druhý znak prvního slova (např. P v Open (Otevřít)
  • Pokud to není možné, použijte druhý znak druhého nebo třetího slova (např. l v Save All (Uložit vše)
  • Obecně se můžete vyhnout úzkým znakům, jako jsou i a l, a vybrat si širší znaky, jako jsou m, s, w atd.

Propojení dvou ovládacích prvků

V příkladech, které jsme doposud viděli, jsme mohli přímo definovat přístupovou klávesu na ovládacím prvku, ke kterému chceme dosáhnout. Ale existuje alespoň jeden příklad, kde to přímo možné není: Když máte vstupní ovládací prvek, např. TextBox, text, který označuje jeho účel, neexistuje uvnitř samotného ovládacího prvku TextBox. Místo toho byste obvykle použili druhý ovládací prvek k indikaci účelu ovládacího prvku TextBox textem. To by obvykle byl ovládací prvek Label.

V tomto příkladu by tedy ovládací prvek Label obsahoval popisný text a tedy i přístupovou klávesu, ale ovládací prvek, na který chcete upozornit, by byl ovládací prvek TextBox. Žádný problém - můžeme použít vlastnost Target u Labelu k propojení s TextBoxem (nebo jakýmkoli jiným ovládacím prvkem) takto:

<StackPanel Margin="20">
    <Label Content="_First name:" Target="{Binding ElementName=txtFirstName}" />
    <TextBox Name="txtFirstName" />
    <Label Content="_Last name:" Target="{Binding ElementName=txtLastName}" />
    <TextBox Name="txtLastName" />
    <Button Content="_Save" Margin="20"></Button>
</StackPanel>

Všimněte si, jak je přístupová klávesa specifikována pro ovládací prvky Label a poté je propojena s příslušným ovládacím prvkem TextBox pomocí vlastnosti Target, kde používáme Binding založený na ElementName pro vykonání skutečné práce. Nyní můžeme přistupovat k oběma ovládacím prvkům TextBox pomocí Alt+F a Alt+L a k tlačítku pomocí Alt+S. Vypadá to takto:

Shrnutí

Použitím přístupových kláves ve vašich oknech/dialogových oknech zjednodušujete lidem navigaci pomocí klávesnice. To je obzvláště oblíbené mezi pokročilými uživateli, kteří dávají přednost klávesnici před myší, kdekoli je to možné. Přístupové klávesy byste měli vždy používat, zejména pro vaše menu.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!