Winform:将自定义控件属性绑定到BindingList

时间:2011-05-20 11:49:44

标签: c# winforms binding bindinglist

我正在尝试从自定义控件创建绑定到BindingList中的对象。

使用文本框时,我可以轻松编写

textBox.DataBindings.Add("Text",myBindingList,"PropertyOfObjectOfBindingList")

使用我的自定义属性“Value”,这个东西不起作用(对象没有更新)。

我应该使用自定义控件实现什么才能使其正常工作?我已经实现了INotifyPropertyChanged,但它不起作用。

我只想让这条线有效:

customControl.DataBindings.Add("CustomProperty",myBindingList,"PropertyOfObjectOfBindingList")

编辑1:

我在网上看到这个:http://kbalertz.com/327413/control-using-Visual.aspx但是现在不适合我,也许我做错了什么

3 个答案:

答案 0 :(得分:1)

既然你说你的绑定对象没有得到更新(我假设从Control - >对象更改),但它被正确绑定,也许这会有所帮助:

customControl.DataBindings.Add("CustomProperty", list, "BoundObjectProperty", 
    false, DataSourceUpdateMode.OnPropertyChanged);

答案 1 :(得分:0)

答案 2 :(得分:0)

我自己解决了这个问题:

虽然我链接的文章是一个很好的建议,但是有一个错误的部分;您不必使用PropertyChangedEventHandler在自定义类中创建事件,而只需使用EventHandler。

public event EventHandler CustomPropertyChanged;

足以让一切顺利。当你的财产改变时,你必须要打电话

编辑1:

我发现了一件坏事,而在文本框中,如果控件失去焦点,绑定列表会更新,在我的自定义控件上,只有在我更改列表框中的选定项目时才会发生这种情况。

目前我找不到解决这个问题的方法。

相关问题