我想一個複選框綁定到自定義對象布爾屬性如下:綁定自定義對象複選框在VB.NET
chkTableIsReadonly.DataBindings.Add(New Binding("Checked", objectBindingSource, "ApplyforVisa", True, DataSourceUpdateMode.OnPropertyChanged, False))
自定義類支持INotifyPropertyChanged接口。
一切工作發現,當我複選框最初綁定到一個新的對象:
objectBindingSource.Datasource = new objectToBindTo
這裏是奇數部分:
- 如果我選中該複選框,設置屬性被調用並且INotifyPropertyChanged事件被調用,每個人都很高興。
- 如果我取消選中同一個框,Set屬性不會被調用,INotifyPropertyChanged事件永遠不會被調用,並且(更差的部分),我無法導航到另一條記錄。
我已經嘗試捕獲CheckedChanged事件手動設置object.ApplyForVisa屬性,但沒有成功。屬性Set被調用,INotifyPropertyChanged事件被調用,但我仍然被鎖定在控件上,無法導航。
我曾嘗試在CheckedChanged事件中調用bindingsource.endedit,但沒有成功。
只有當我取消勾選框時才重要。該複選框爲雙態 - 真或假。
我所有的其他綁定工作得很好 - 文本框,組合框,數據網格。只是不復選框。
我唯一的想法是,似乎行爲像一個綁定源數據錯誤,但沒有錯誤引發。如果我爲綁定源添加數據錯誤事件處理程序,它永遠不會被調用。
您可以包含'objectToBindTo'實現的代碼,包括'ApplyForVisa'屬性以及任何附加的處理程序到'PropertyChanged'的實例嗎? – 2012-07-26 15:30:31