ComboBox控件包含有一个下拉列表,一个文本编辑框。通常我们会把下拉列表绑定到一个List
与之相关的属性主要有以下几个:
与文本框相关的属性
Text(文本框内容)
IsReadOnly(是否允许键盘输入)
IsEditable(是否显示文本框内容)
DataContext(用于指定文本框绑定的数据对象)
与下拉列表相关的属性
ItemsSource(用于指定下拉列表绑定的List
SelectedIndex(下拉列表中选中行的索引)
DisplayMemberPath(下拉列表中要显示的List
SelectedValuePath(下拉列表中,对应与显示的List
例如,我有一个Student数据表,为其创建对应的数据类:
public class Student
{
int ID { get; set; }
string Name { get; set; }
string Sex { get; set; }
int Age { get; set; }
string Grade { get; set; }
string Class { get; set; }
}
一个Grades(年级)类,用于存储年级的下拉列表选项
public class Grades
{
int GradeID { get; set; }
string GradeName { get; set; }
}
现在,要将Student对象的Grade 属性绑定到ComboBox的Text属性,以返回数据,
将Grades 集合对象的GradeName 属性绑定到ComboBox的ItemSource属性,以显示下拉列表数据
C#代码:
Student student = new Student(); //创建一个Student对象的实例
CB_Grades.DataContext = student ; //指定Text属性的数据上下文,CB_Grades为 ComboBox 的 name 属性
List
grades.Add(new Grades{ GradeID=1, GradeName = "高一"});
grades.Add(new Grades{ GradeID=2, GradeName = "高二"});
grades.Add(new Grades{ GradeID=3, GradeName = "高三"});
CB_Grades.ItemsSource = grades ; //指定下拉列表的 ItemsSource 数据源 ,CB_Grades为 ComboBox 的 name 属性
XAML代码:
HorizontalAlignment="Left" Margin="100,100,0,0" VerticalAlignment="Top" Width="150" Height="30" />
如果需要设定ComboBox的默认值,可以在C#代码中加入以下代码:
CB_PartType.SelectedIndex = 0;//其数值可以根据需要设定