我有一个组合框设置为DropDownStyle=DropDownList
(意味着用户无法键入任何内容,只需从下拉列表中选择)。组合包含状态列表。
我正在尝试将所选文本值绑定到_model.StateBar,但我的代码似乎没有更新对象的属性。
我已经尝试了以下两种方法:
cboStates.DataBindings.Add("Text", _model, "StateBar")
cboStates.DataBindings.Add("SelectedItem", _model, "StateBar")
cboStates.DataBindings.Add("SelectedValue", _model, "StateBar")
我只需要以一种方式绑定它:来自控件的更新需要最终在对象上。
答案 0 :(得分:0)
绑定到ComboBox.SelectedValue
应该有效,但仅限于通过ComboBox.DataSource
添加项目的情况。
public class Model
{
public string StateBar { get; set; }
}
// In the form
var states = new List<string> { "Alabama", "California" };
combobox.DataSource = states;
combobox.DataBindings.Add("SelectedValue", _model, "StateBar", true, DataSourceUpdateMode.OnPropertyChanged);
绑定到SelectedItem
应该适用于所有情况。