如何绑定CheckedListBox的checked属性?

时间:2016-12-25 11:15:27

标签: c# winforms

  

问题

     

如何绑定   System.Windows.Forms.CheckedListBox

  

我尝试了什么

     

班级

public class Foo
    {
        public string Description { get; set; }
        public bool isSelected { get; set; }
    }
     
    

用法

  
        List<Foo> fooList = new List<Foo>();
        Foo foo = new Foo();
        foo.Description = "One";
        foo.isSelected = true;
        fooList.Add(foo);
        foo = new Foo();
        foo.Description = "Two";
        foo.isSelected = false;
        fooList.Add(foo);
        foo = new Foo();
        foo.Description = "Three";
        foo.isSelected = true;
        fooList.Add(foo);

        var fooBindingList = new BindingList<Foo>(fooList);
        var source = new BindingSource(fooBindingList, null);
        clbFoo.DataSource = source;
        clbFoo.DisplayMember = "Description";
        clbFoo.ValueMember = "isSelected";
  

结果

     

DisplayMember可见,但未选中复选框。

编辑:我最初在问题中加入了“单向绑定”,但无论是单向还是双向绑定都没关系,所以我删除了“一个 - “从问题出发。

编辑:我知道这可以手动完成。我想知道是否可以通过绑定来完成。

    foreach (Foo item in fooList)
    {
        clbFoos.Items.Add(item, item.isSelected);
    }

0 个答案:

没有答案