繁体   English   中英

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

[英]Winform: Binding a custom control property to a BindingList

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

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

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

使用我的自定义属性“值”,此功能不起作用(该对象无法更新)。

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

我只想使此行有效:

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

编辑1:

我在网上阅读了以下内容: http : //kbalertz.com/327413/control-using-Visual.aspx但是目前对我不起作用,也许我做错了

既然您说绑定对象没有更新(我假设是从Control-> Object changes),但是绑定正确,也许这会有所帮助:

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

我自己解决了这个问题:

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

public event EventHandler CustomPropertyChanged;

足以使一切正常。 显然,当属性更改时,您必须调用它

编辑1:

我发现了一件不好的事情,在文本框上,如果控件失去焦点,绑定列表将得到更新,则在我的自定义控件上,仅当我更改列表框中的选定项目时,此事情才会发生。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM