TOC

This article has been localized into Hebrew by the community.

מושגים של פקדים:

מקשי גישה

הרעיון של מקשי גישה Access Keys, שלפעמים מתייחסים אליו כמקשי האצה Accelerator Keys או מקלדת האצה Keyboard Accelerators, מאפשר לכם להגיע לפקד מסויים בתוך חלון על ידי לחיצה על מקש Alt תוך כדי לחיצה על מקש אחר על המקלדת. כך משפרים את השימושיות של החלון, מאחר ומאפשרים למשתמש להשתמש בלוח המקשים כדי לנווט בחלון, במקום להשתמש בעכבר.

הגדרת מקשי גישה

הגדרת מקשי גישה לפקד ה WPF שלכם היא מאד קלה, אבל הדרך לעשות זאת עשויה להפתיע אתכם מעט. בדרך כלל, תהיה תכונה בשביל זה, אבל לא עבור מקשי גישה. במקום זה, תגדירו מקש גישה על ידי קביעה מראש של אות עם קו תחתי בתכונה Text או Content של הפקד. למשל ככה:

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

שימו לב לקו התחתי (_) לפני האות N - כך יהפוך המקש N למקש הגישה היעודי עבור פקד הכפתור. בברירת המחדל, המראה של הפקד(ים) שלך לא ישתנה, כפי שניתן לראות בדוגמה הזו היכן שהגדרתי מקשי גישה לכל הכפתורים:

עם זאת, ברגע שלוחצים על מקש Alt בלוח המקשים, מקשי הגישה הזמינים מודגשים על ידי קו תחתי:

בזמן שמקש ה- Alt נשאר לחוץ, ניתן ללחוץ על אחד ממקשי הגישה (למשל N, O או S) כדי להפעיל את הכפתור המתאים. הוא יגיב כאילו לחצו עליו עם העכבר.

מקשי הגישה טובים לאלמנטים בודדים בחלון/תיבת דו שיח, אבל הם אפילו יותר שימושיים בתפריטי חלונות מסורתיים, היכן שצריך בדרך כלל לעשות את הדרך על ידי לחיצה דרך היררכיה של אפשרויות תפריט לפני שמגיעים לזה שצריכים. הנה דוגמה מויז'ואל סטודיו:

במקרה זה, במקום שצריך לעבור דרך התפריט עם מספר תנועות ולחיצות של העכבר כשרוצים להתחיל פרוייקט חדש, אפשר ללחוץ על מקש ה- 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, הטקסט שמסביר מה המטרה שלה לא קיים בתוך תיבת הטקסט עצמה. במקום זה, תבחרו בדרך כלל להשתמש בפקד אחר כדי להסביר, עם טקסט, מה המטרה של תיבת הטקסט. בדרך כלל ישמש למטרה זו פקד תווית Label.

כך בדוגמה זו פקד התווית יכלול טקסט תאורי, ולכן גם את מקש הגישה, אבל הפקד שרוצים לתת לו את תשומת הלב יהיה פקד תיבת הטקסט. אין בעיה - אנחנו יכולים להשתמש בתכונה Target (מטרה) של התווית כדי לקשור אותה ביחד עם תיבת הטקסט (או כל פקד אחר) בצורה כזו:

<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>

שימו לב כיצד עכשיו מקש הגישה מוגדר בפקד התווית ואז נקשר לפקד תיבת הטקסט TextBox הרלוונטי בעזרת התכונה Target, שם אנחנו משתמשים בקישוריות Binding מבוססת ElementName כדי לעשות את העבודה עצמה. עכשיו אנחנו יכולים לגשת לשני פקדי תיבות הטקסט בעזרת Alt+F ו- Alt+L, ולכפתור בעזרת Alt+S. ככה זה נראה:

סיכום

על ידי שימוש במקשי גישה בחלון או תיבת דו השיח שלכם, את הופכים את הניווט להרבה יותר קל לאנשים על ידי שימוש במקלדת בלבד. הם פופולריים במיוחד בקרב משתמשי-על, שיעדיפו את השימוש במקלדת על פני העכבר ככל האפשר. כדאי שתשתמשו במקשי גישה, במיוחד בתפריטים שלכם.


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!