直接粘过来一个方法。。
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方式就可以了。