This article has been localized into Turkish by the community.
Erişim Tuşları
Bazı yerlerde Accelerator Keys (hızlandırıcı tuşlar) veya Keyboard Accelerators (tuştakımı hızlandırıcılar) olarak adlandırılan Access Keys (erişim tuşları) konsepti, Alt tuşuna basılı tutarken bir tuş daha basarak penceredeki kontrollerden birine erişmeniz için imkan verir. Bu kullanıcıya mouse'a geçmeden elleri tuş takımında kalarak pencerede gezinme imkanı verir.
Erişim Tuşlarını Tanımlamak
Bir WPF kontrolün erişim tuşunu tanımlamak çok kolay, fakat teknik sizi biraz şaşırtabilir. Normalde bunun için bir özellik olmalıydı fakat erişim tuşları tanımında yok. Yerine kontrolün Text/Content'ine yazdığınız yazıda erişim tuşu olmasını istediğiniz karakter öncesi altçizgi karakteri koyarsınız. Örneğin şöyle :
<Button Content="_New"></Button>
Dikkat ederseniz N karakteri öncesi altçizgi ( _ ) var - Bu N tuşunu tercih edilen erişim tuşu olarak ayarlar. Default olarak tüm butonlarına erişim tuşu tanımladığım bu örnekte de göreceğiniz üzere kontrol görünümünde yazı değişmez:
Ama tuştakımında Alt tuşuna bastığınız anda olası erişim tuşları altlarında çizgi çizilerek gösterilir :
Alt tuşuna basılı tutarken erişim tuşlarından birine basarak (N ,O, S veya A) ilgili butonu sasnki mouse ile tıklanmış gibi aktif edebilirsiniz.
Erişim tuşları diyalog/pencere üzerindeki tek başına elemanlar için güzel, ama daha kullanışlı olduğu yer klasik Windows menüleri. Burada genellikle menü hiyerarşisine göre sıra sıra tuş basarak ilerlersiniz. Burada Visual Studio programından bir örnek var :
Bu örneğe bakarsak yeni bir proje başlatmak için bir çok mouse hareketi ve tıklamalar gerekiyor, ama bunun yerine Alt tuşunu basılı tutarken önce F (File için), sonra N (New için) ve sonra P (Project için) basabilirim. Tabi bu iş için bir klavye kısayolu var (Ctrl+Shift+N) am bunu ezberden bilmiyorsam menüde son seçeneğe gelmeden ne olduğunu göremiyorum, Alt tuşuna bastığınızda anında size olasılıkları bildirdiği için erişim tuşları kullanmak daha çok işinize gelebilir.
Erişim Tuşlarında hangi karakterler kullanılmalıdır?
Kontrolün text/content yazısından herhangi bir karakteri seçebilirsiniz derken bazı karakter seçim teamülleri var. En önemli kural tabi ki o anda görünen başka kontrolde kullanılmayan bir harf seçmek, fakat buna ek olarak şu eğilimlere de uysanız iyi olur :
- İlk kelime'nin ilk karakter'ini kullanın
- Eğer mümkün değilse ikinci ya da üçüncü kelimenin ilk harfini kullanın (örn. Save As için A)
- Eğer bu da mümkün değilse ilk kelime ikinci harfini kullanın (örn. Open için P)
- Bu da münkün değilse ikinci ya da üçüncü kelimenin ikinci harfini kullanın (örn. Save All için l)
- Genelde birbirine yakın i ve l gibi harflerden uzak durun ve m, s, w gibi açık net belli harflere gidin.
İki kontrolü birbirine bağlamak
Şu ana kadarki örneklerimizde erişim karakterini direk erişmek istediğimiz kontrolde tanımladık. Fakat bunun mümkün olmadığı bir örnek var: Eğer TextBox gibi bir giriş kontrolünüz varsa üzerinde bir sabit yazı olmadığı için ikinci bir kontrolün bu TextBox'ı göstermesini sağlamalı ve bunun üzerinden gitmelisiniz. Bu ikinci kontrol genelde bir Label olur.
Buradaki örnekte Label kontrol açıklamalı bir yazı ve erişim tuşu tanımına sahip, ama ben onun üzerinde tanımlı erişim tuşuyla TextBox kontrolüne erişmek istiyorum. Problem yok - Label'in Target özelliğini kullanarak onu TextBox ile bağlayabiliriz (ya da başka bir kontrol ile) :
<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>
Label kontrollerinde belirtilen erişim tuşlarının Target özelliği sayesinde nasıl ilgili TextBox kontrolüne bağlandığına bakınız. Burada ElementName temelli bir Binding (yani veri bağlaması) kullanıyoruz. Şimdi iki TextBox kontrolüne Alt+F ve Alt+L tuş kombinasyonu ile Button'a ise Alt+S tuş kombinasyonu ile ulaşabiliriz. İşte nasıl göründüğü :
Sonuç
Pencerelerinizde/diyaloglarınızda erişim tuşları kullanarak insanların sadece tuş takımı üzerinden gezinmelerini kolaylaştırıyorsunuz. Bu özellikle mouse yerine mümkünse klavye kullanmayı tercih eden güçlü kullanıcılar için popülerdir. Özellikle menülerde olmak üzere programlarınızda erişim tuşları kullanmalısınız.