直接粘过来一个方法。。
WPF中提供了数据绑定的功能,操作起来很方便,集合类的控件几乎都可以用数据源来进行数据的绑定,下面操作一下下拉列表框控件ComboBox控件的数据绑定操作。
要绑定到ComboBox控件的自定义类:
public class LocationRoad
{ public int ID { set; get; }
public string Code { set; get; }
public string Info { set; get; }
}建立数据源,我们就将此数据集合当作数据源绑定到ComboBox:
////// 当ComboBox选中项更改时发生///private LocationRoad _selectLocation;
public LocationRoad SelectLocation
{ get
{
return this._selectLocation;
}
set
{
this._selectLocation = value;
if (this.PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("SelectLocation"));
}
}private ObservableCollection _locationRoad = null;
public ObservableCollection LocationSource
{ get
{
if (this._locationRoad == null)
{
this._locationRoad = new ObservableCollection() {
new LocationRoad() { ID = 1, Code = "NGQ", Info = "南岗区" },
new LocationRoad() { ID = 2, Code = "DLQ", Info = "道里区" },
new LocationRoad() { ID = 3, Code = "DWQ", Info = "道外区" },
new LocationRoad() { ID = 4, Code = "PFQ", Info = "平房区" },
new LocationRoad() { ID = 5, Code = "XFQ", Info = "香坊区" },
};
}
return this._locationRoad;
}
set
{
this._locationRoad = value;
if (this.PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("LocationSource"));
}
}前台XAML文件绑定方式:
<ComboBox Margin="-16,3,0,5" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Name="cboxLocationKeyword"
ItemsSource="{Binding LocationSource,Mode=OneWay}" --->单项绑定数据源
SelectedValuePath="ID" --->这个是选中后的值,应该就是SelectedValue
DisplayMemberPath="Info" --->这个是显示的text
SelectedItem="{Binding SelectLocation}" />
如果要进行双向绑定或其他的绑定方式,只要更改上面binging块中的Mode方式就可以了。