WPF中往ComboBox里添加选项并指定默认选项

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

里面的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   }

接着是处理事件的定义:

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 }

运行一下看看效果这里默认选择第一项,由于ComboBox属于常用的控件,所以在这写一下自己的使用。

原文地址:https://www.cnblogs.com/wainiwann/p/1946900.html