מדריך WPF

מדריך WPF – פקדי תפריטים

‏ • Sela

פקד Menu

פקד Menu משמש באפליקציות WPF ליצירת תפריט פעולות, לרוב בראש המסך. פקד Menu מכיל בתוכו אוסף של תפריטי משנה, כל אחד מהם מיוצג ע"י פקד MenuItem. גם לכל MenuItem יכולים להיות תפריטי משנה. באופן זה ניתן לבנות מערכת תפריטים מורכבת ועשירה.

לכל אובייקט מטיפוס MenuItem יש תכונה Header שבאמצעותה נקבע את הטקסט של התפריט. בנוסף, כדי להגיב ללחיצה על האפשרות הזו בתפריט ניתן להירשם לאירוע Click.

בדוגמא הבאה אנו יוצרים היררכיה של תפריטים ע"י שימוש בפקד Menu ופקדי MenuItem:

<Window x:Class="ControlsDemo.MainWindow"
       >="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       >:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow"
       Height="350"
       Width="525">
  <StackPanel>
   <Menu>
      <MenuItem Header="File">
        <MenuItem Header="New" />
        <MenuItem Header="Open" />
        <MenuItem Header="Save" />
        <MenuItem Header="Save As">
          <MenuItem Header="Save as BMP" />
          <MenuItem Header="Save as JPG" />
          <MenuItem Header="Save as GIF" />
        </MenuItem>
      </MenuItem>
      <MenuItem Header="Edit" />
      <MenuItem Header="Format" />
    </Menu>
  </StackPanel
>
</
Window
>

והתוצאה

מדריך WPF – פקדי תפריטים

 

פקד ContextMenu

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

בדומה לפקד Menu גם הפקד ContextMenu עובד עם רשימה היררכית של פקדי MenuItem. בשונה מפקד Menu, פקד ContextMenu לא ניתן לשים בכל מקום בקובץ הXAML, אלא רק תחת תכונת ContextMenu של פקד אחר.

לדוגמא, הקוד הבא יוצר ContextMenu בלחיצה על כפתור ימני מעל כפתור:

<Window x:Class="ControlsDemo.MainWindow"
       >="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       >:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow"
       Height="350"
       Width="525">
  <StackPanel>
    <Button Content="my button">
     <Button.ContextMenu>
        <ContextMenu>
          <MenuItem Header="Item 1" />
          <MenuItem Header="Item 2" />
          <MenuItem Header="Item 3">
            <MenuItem Header="Sub Item 1" />
            <MenuItem Header="Sub Item 2" />
          </MenuItem>
        </ContextMenu>
      </Button.ContextMenu>
    </Button>
  </StackPanel
>
</
Window
>

והתוצאה:

מדריך WPF – פקדי תפריטים

תגיות: , , , ,

arikp

אריק פוזננסקי הוא יועץ בכיר ומרצה בסלע. הוא השלים שני תארי B.Sc. במתמטיקה ומדעי המחשב בהצטיינות יתרה בטכניון. לאריק ידע נרחב בטכנולוגיות מיקרוסופט, כולל .NET עם C#, WPF, Silverlight, WinForms, Interop, COM/ATL, C++ Win32 ו reverse engineering.

תגובות בפייסבוק