这ComboBox里可以在XAML中直接给它添加选项,这里不直接废话,下面是在你要添加的ComboBox在XAML中的实现:
1 <ComboBox x:Name="MyComBox" Height="20" Canvas.Left="110" Canvas.Top="255" Width="86" DisplayMemberPath="Frequ" SelectionChanged="myComboBox_SelectionChanged">
注意代码里在ComboBox属性里 的DisplayMemberPath="Frequ" 这个是一种绑定也是填充选项的关键,要与C#里的定义的结构体的成员名字一致。 这个事件是当你选择ComboBox里的选项时触发的事件SelectionChanged="myComboBox_SelectionChanged"。
接着是定义结构体:
1 public struct Frequency
2 {
3 public int ID{get;set;}
4 public string Frequ{get;set;}
5 }
2 {
3 public int ID{get;set;}
4 public string Frequ{get;set;}
5 }
里面的ID可以不设置,但很重要,当我们选择选项的时候可以用index处理我们的选择,其中关于取到选项的索引很容易但要取到选项的内容好像不太容易。
1 List<Frequency> list = new List<Frequency>();
2 Frequency freq = new Frequency();
3 for(int i = 0; i < lFreq.Length; i++)
4 {
5 freq.ID = i;
6 freq.Frequ = lFreq[i].ToString();
7 list.Add(freq);
8 }
50 this.MyComBox.ItemsSource = list;//这里MyComBox是我们控件的ID
51 this.MyComBox.SelectedIndex = 0;
52
53 // 在此点之下插入创建对象所需的代码。
54 }
2 Frequency freq = new Frequency();
3 for(int i = 0; i < lFreq.Length; i++)
4 {
5 freq.ID = i;
6 freq.Frequ = lFreq[i].ToString();
7 list.Add(freq);
8 }
50 this.MyComBox.ItemsSource = list;//这里MyComBox是我们控件的ID
51 this.MyComBox.SelectedIndex = 0;
52
53 // 在此点之下插入创建对象所需的代码。
54 }
接着是处理事件的定义:
1 public void myComboBox_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
2 {
3 // 在此处添加事件处理程序实现。
4
5 index =MyComBox.SelectedIndex;//获取索引以进行下一步的操作
6
7
8
9
10
11 }
2 {
3 // 在此处添加事件处理程序实现。
4
5 index =MyComBox.SelectedIndex;//获取索引以进行下一步的操作
6
7
8
9
10
11 }
运行一下看看效果这里默认选择第一项,由于ComboBox属于常用的控件,所以在这写一下自己的使用。