WPF如何进行下拉框动态绑定
在WPF中进行下拉框动态绑定,可以通过以下步骤实现:
1.定义一个数据源,可以是一个集合或者一个数据库查询结果。
2.在XAML中定义一个ComboBox控件,并设置它的ItemsSource属性为数据源。
3.设置ComboBox控件的DisplayMemberPath属性为数据源中要显示的字段名,SelectedValuePath属性为数据源中要绑定的字段名。
4.在ViewModel中定义一个属性,用于绑定ComboBox控件的SelectedValue属性。
5.在ViewModel中初始化数据源,并将该数据源赋值给ComboBox控件的ItemsSource属性。
6.在ViewModel中处理ComboBox控件的SelectedValueChanged事件,根据选择的值更新ViewModel中的属性值。
7.在XAML中绑定ViewModel中的属性到ComboBox控件的SelectedValue属性。
示例代码:
1.定义一个数据源
public class City
{
public string Name { get; set; }
public string Code { get; set; }
}
public class CityList : List<City>
{
public CityList()
{
Add(new City() { Name = "北京", Code = "001" });
Add(new City() { Name = "上海", Code = "002" });
Add(new City() { Name = "广州", Code = "003" });
Add(new City() { Name = "深圳", Code = "004" });
}
}
2.在XAML中定义一个ComboBox控件
<ComboBox ItemsSource="{Binding CityList}"
DisplayMemberPath="Name"
SelectedValuePath="Code"
SelectedValue="{Binding SelectedCityCode}" />
3.在ViewModel中定义一个属性
private string _selectedCityCode;
public string SelectedCityCode
{
get { return _selectedCityCode; }
set
{
if (_selectedCityCode != value)
{
_selectedCityCode = value;
OnPropertyChanged("SelectedCityCode");
}
}
}
4.在ViewModel中初始化数据源
public CityList CityList { get; set; }
public ViewModel()
{
CityList = new CityList();
}
5.在ViewModel中处理ComboBox控件的SelectedValueChanged事件
private void ComboBox_SelectedValueChanged(object sender, EventArgs e)
{
var comboBox = sender as ComboBox;
SelectedCityCode = comboBox.SelectedValue as string;
}
6.在XAML中绑定ViewModel中的属性到ComboBox控件的SelectedValue属性
<ComboBox ItemsSource="{Binding CityList}"
DisplayMemberPath="Name"
SelectedValuePath="Code"
SelectedValue="{Binding SelectedCityCode, Mode=TwoWay}" />
原文地址: http://www.cveoy.top/t/topic/bggd 著作权归作者所有。请勿转载和采集!