我有一种形式的databinded checkliSTListbox,我想知道是否甚至可以将每个列表框项目的复选框与对象的某个属性进行数据绑定(bind)。

感谢您的任何帮助:)

编辑:也许我的问题被曲解了。

我想知道是否可以对CheckedListBox的每个项目的复选框进行数据绑定(bind)。我知道如何将数据绑定(bind)到源,以及如何通过迭代主题来以编程方式更改条目。我不知道是否可以上课
它实现INotifyPropertyChanged,以便当“CheckedState”属性更改时,CheckedListBox会自动更新。

最佳答案

根据Samich的回答,这是一个完整的示例,绑定(bind)源是Object

private void Form1_Load(object sender, EventArgs e)
        {
            List<randomClass> lst = new List<randomClass>();

            lst.Add(new randomClass());
            lst.Add(new randomClass());
            lst.Add(new randomClass());
            lst.Add(new randomClass());
            lst.Add(new randomClass());
            lst.Add(new randomClass());

            ((ListBox)this.checkedListBox1).DataSource = lst;
            ((ListBox)this.checkedListBox1).DisplayMember = "Name";
            ((ListBox)this.checkedListBox1).ValueMember = "IsChecked";


            for (int i = 0; i < checkedListBox1.Items.Count; i++)
            {
                randomClass obj = (randomClass)checkedListBox1.Items[i];
                checkedListBox1.SetItemChecked(i, obj.IsChecked);
            }
        }
    }

    public class randomClass
    {
        public bool IsChecked { get; set; }
        public string Name { get; set; }
        public randomClass()
        {
            this.IsChecked = true;
            Name = "name1";
        }
    }
randomClass用于演示

关于c# - Winforms : How to bind the Checkbox item of a CheckedListBox with databinding,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7485631/

10-12 00:04