מדריך Silverlight – פקדים בסיסיים: ComboBox

‏ • Sela

הפקד ComboBox מאפשר למשתמש לבחור ערך יחיד מתוך רשימה נפתחת של ערכים. העבודה עם פקד ComboBox נעשית בצורה דומה מאוד לעבודה עם פקד ListBox.

מדריך Silverlight – פקדים בסיסיים: ComboBox

יצירת ComboBox עם מספר ערכים

באופן דומה לפקד ListBox, התכונה החשובה בפקד ComboBox היא התכונה Items שאליה ניתן להכניס מספר אלמנטים מטיפוס ComboBoxItem, כאשר כל אלמנט כזה מייצג אלמנט ברשימה הנפתחת.

יצירת רשימה נפתחת עם מספר ערכים קבועים יכולה להתבצע באמצעות קוד הXAML הבא:

<UserControl x:Class="FirstSilverlightApplication3.MainPage"
            >="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            >:x="http://schemas.microsoft.com/winfx/2006/xaml"
            >:d="http://schemas.microsoft.com/expression/blend/2008"
            >:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            d:DesignHeight="300"
            d:DesignWidth="400">
  <StackPanel>
    <ComboBox>
      <ComboBoxItem Content="Item 1" />
      <ComboBoxItem Content="Item 2" />
      <ComboBoxItem Content="Item 3" />
    </ComboBox>
  </StackPanel
>
</
UserControl
>

והתוצאה

מדריך Silverlight – פקדים בסיסיים: ComboBox

הוספת אלמנטים ל ComboBox באמצעות קוד #C

באופן דומה לפקד ListBox, ניתן לטעון ערכים בצורה דינמית לתוך ComboBox ע"י שימוש בקוד #C. כדי לגשת לפקד ה ComboBox מקוד ראשית יש לתת לו שם ע"י שימוש בx:Name, לאחר מכן נוסיף אלמנטים מסוג ComboBoxItem לתכונה Items של ה ComboBox.

להלן קוד XAML וקוד #C שעושים זאת:

<UserControl x:Class="FirstSilverlightApplication3.MainPage"
            >="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            >:x="http://schemas.microsoft.com/winfx/2006/xaml"
            >:d="http://schemas.microsoft.com/expression/blend/2008"
            >:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            d:DesignHeight="300"
            d:DesignWidth="400">
  <StackPanel>
    <ComboBox x:Name="comboBox" />
  </StackPanel
>
</
UserControl
>

והקוד בשפת #C:

using System.Windows.Controls;

namespace FirstSilverlightApplication3
{
  public partial class MainPage : UserControl
  {
    public MainPage()
    {
      InitializeComponent();

      for (int i = 0; i < 5; ++i)
      {
        ComboBoxItem newItem = new ComboBoxItem();
        newItem.Content = "Item " + i;
        comboBox.Items.Add(newItem);
      }
    }
  }
}

תוצאת הרצת הקוד הנ"ל

מדריך Silverlight – פקדים בסיסיים: ComboBox

האירוע SelectionChanged

האירוע SelectionChanged מופעל כאשר ישנו שינוי באלמנט שנבחר ברשימה. ניתן להשיג את האלמנט הנבחר החדש ע"י התכונה SelectedItem.

הקוד הבא מופעל כאשר הבחירה משתנה ומדפיס את האיבר החדש שנבחר:

קוד הXAML:

<UserControl x:Class="FirstSilverlightApplication3.MainPage"
            >="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            >:x="http://schemas.microsoft.com/winfx/2006/xaml"
            >:d="http://schemas.microsoft.com/expression/blend/2008"
            >:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            d:DesignHeight="300"
            d:DesignWidth="400">
  <StackPanel>
    <ComboBox x:Name="comboBox"
             SelectionChanged="comboBox_SelectionChanged" />
  </StackPanel
>
</
UserControl
>

קוד #C:

private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
  MessageBox.Show(comboBox.SelectedItem.ToString());
}

תגיות: , ,

arikp

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

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