簡體   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