绑定组合框

本文关键字:组合 绑定 | 更新日期: 2023-09-27 18:33:07

我已经对此进行了搜索,但是我相信我想实现一些稍微不同的东西。

我有一个组合框,它被设置为静态包含 3 个项目,例如,人物 1、人物 2、人物 3。

然后我有一个对象,例如称为 Person。此对象将包含一个名为 PersonType 的属性,该属性可能是 Person3。我想做的是将该 Person 对象绑定到组合框,在加载时,组合框应突出显示 person3 作为所选项目。请问我该怎么做呢?我希望它与我的其他控件一样双向绑定。

    public class Person : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    private string _PersonType;
    public string PersonType
    {
        get { return _PersonType; }
        set
        {
            _Description = value;
            NotifyPropertyChanged("PersonType");
        }
    }
    public void NotifyPropertyChanged(string name)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(name));
        }
    }
}

绑定组合框

以下方法应该有效:

ddlPerson.SelectedItem = objPerson.PersonType;

以下代码应该可以实现您的目标。我在我的机器上运行它,它工作了。

    private void BindPerson()
    {
        Person p2 = new Person();
        p2.PersonType = "Person2";
        Person p3 = new Person();
        p3.PersonType = "Person3";
        ListItem person2ListItem = new ListItem();
        person2.Text = p2.PersonType;
        person2.Value = p2.PersonType;
        listBox.Items.Add(person2ListItem);
        ListItem person3ListItem = new ListItem();
        person3.Text = p3.PersonType;
        person3.Value = p3.PersonType;
        person3.Selected = true; // This will make it selected
        listBox.Items.Add(person3ListItem);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindPerson();
        }
    }