This article is currently in the process of being translated into Arabic (~96% done).
مفاتيح الوصول
مفهوم مفاتيح الوصول, هو مفهوم يشار الية ب مفاتيح التسريع أو مسرعات لوحة المفاتيح, تسمح لك للوصول الى عنصر معين بداخل النافذة عن طريق الضغط المستمر على مفتاح "Alt" مع الضغط على مفتاح اخر على لوحة المفاتيح. هذا ما يحسن سهولة الاستخدام لنوافذ التطبيق لانه تسمح للمستخدم باستخدام لوحة المفاتيح للتنقل في النوافذ بدلاً من استخدام الفأرة.
تعين مفاتيح الوصول
تعين مفاتيح الوصول لعناصر "WPF" سهل للغاية, ولكن الطريقة ممكن أن تفاجئك قليلاً. من الطبيعي ان يكون هناك خاصيّة لذلك ولكن الامر ليس كذلك في مفاتيح الوصول. بدلاً من ذلك, يتم تعين مفاتيح الوصول عن طريق اضافة بادئة شرطة سفلية " _ " قبل الحرف في خاصيّة النص/المحتوى(Text/Content) للعنصر, مثل هذا المثال:
<Button Content="_New"></Button>
لاحظ الشرطة السفلية (_) قبل الحرف N , هذا سوف يحول المفتاح N الى مفتاح محدد كمفتاح وصول لعنصر الزر هذا. افتراضياً, مظهر العنصر(العناصر) لا يتغير, كما يمكن ان ترى في هذا المثال بحيث عينت مفاتيح وصول لكل الأزرار:
لكن عندما اضغط على المفتاح Alt في لوحة المفاتيح, جميع مفاتيح الوصول المتاحة سيتم تميزها عن طريق وضع خط اسفلهم.
أثناء الاستمرار بالضغط على المفتاح Alt يمكنك الان الضغط غلى أحد مفاتيح الوصول (مثلاً: N, O, أو S) لتفعيل الزر المطلوب. سوف تتفاعل كما لو ان الزر نٌقر باستخدام الفأرة.
مفاتيح الوصول لا بأس بها لعنصر واحد في نافذة, ولكنها مفيدة أكثر في نوافذ القوائم التقليدية, بحيث غالباً سوف تحتاج للضغط على عدة عناصر بتسلسل هرمي معين قبل وصولك للعنصر المقصود. هذا مثال من Visual Studio:
في هذه الحالة بدلاً من التنقل عبر القائمة باستخدام الفأرة وتحريكها و الضغط عدة مرّات عندما اريد ان أنشئ مشروع جديد, أستطيع ان أضغط باستمرار على المفتاح Alt بعده المفتاح F (ل ملف "File"), بعده المفتاح N (ل جديد "New") وأخيراً المفتاح P (ل مشروع "Project"). بالتأكيد يمكن فعل ذلك باستخدام الاختصار الاعتيادي (Ctrl+Shift+N), ولكن الاختصار لن يكون مرئي الّا بعد الوصول الى اخر مستوى من التسلسل الهرمي للقائمة, لذلك اذا لم تكن حافظ هذا الاختصار فسيكون من الاسهل عليك استخدام مفاتيح الوصول نظراً لانهم مرئيين و مميزين في حال الضغط باستمرار على المفتاح Alt
أي رمز(رموز) يفضل أن أستخدمه كمفاتيح وصول؟
قد تميل الى استخدام أي رمز قد تجده في محتوى/نص العنصر, لكن في الواقع هنالك بعض الارشادات لانتقاء الرمز الصحيح. القاعدة الأهم بالتأكيد لانتقاء الرمز هي ان لا تستخدم رمز قد أُستخدم مسبقاً لعنصر اخر, و بالاضافة الى ذلك يفضل ان تستخدم القواعد الارشادية التالية:
- استخدم الرمز الأول ل الكلمة الاولى
- اذا كان ذلك غير ممكن, استخدم الرمز الأول من الكلمة الثانية أو الثالثة(مثال: الحرف A في Save As )
- اذا كان ذلك غير ممكن, استخدم الرمز الثاني من الكلمة الاولى (مثال: الحرف P في Open)
- اذا كان ذلك غير ممكن, استخدم الرمز الثاني من الكلمة الثانية او الثالثة (مثال: الحرف l في Save All)
- بشكل عام, قد ترغب بالابتعاد عن الرموز الصغيرة مثل i و l, و استخدام الرموز الكبيرة و العريضة مثل m أو s أو w الخ..
ربط عنصرين معاً
في الأمثلة السابقة التي رأيناها حتى الان, لقد استطعنا تعين مفاتيح وصول بشكل مباشر على العنصر المراد الوصول اليه. و لكن على الاقل هناك مثال واحد الذي بحيث لا يمكننا فعل ذلك بشكل مباشر: عندما يكون لديك عنصر ادخال مثل TextBox, النص الذي من المفترض ان يشير الى الهدف من العنصر غير موجود أصلاً في عنصر "TextBox". بدلاً من ذلك يمكنك استخدام عنصر اخر يشير اليه ويحتوي على نص يشرح الهدف من العنصر TextBox, وغالباً يكون ذلك العنصر Label.
لذلك في هذا المثال, العنصر Label يمكن ان يحوي نص وصفي, وبالتالي مفتاح الوصول أيضاً, و لكن العنصر الذي تريد ان تعطيه الانتباه سيكون العنصر TextBox. ما في مشكلة, بامكاننا استخدام خاصيّة الهدف(Target) للعنصر Label لربطه مع العنصر TextBox (او اي عنصر اخر) مثل هذا:
<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 وفيما بعد تم ربطه مع العنصر TextBoxباستخدام الخاصيّة Target, بحيث استخدمنا اسم العنصر(ElementName) على أساس الربط(Binding) ليتم ذلك كما نريد. و الان يمكننا الوصول الى كلا عنصرين TextBox باستخدام Alt+F و Alt+L, والزر باستخدام Alt+S. وسيبدو هكذا:
الخلاصة
باستخدام مفاتيح الوصول بنوافذ تطبيقك, فإنك تسهّل على الناس التنقل باستخدام لوحة المفاتيح. هذا بالتحديد شائع و محبوب بالنسبة للمستخدمين الاقوياء الذين يفضلون استخدام لوحة المفاتيح فضلاً عن الفأرة قدر الإمكان. يجب عليك و يُفضل دائما استخدام مفاتيح الوصول و خاصتاً للقوائم.