Ha! Who needs a business object anyway when you have button click events for RAD software development.
I think this whole thing started from a similar comment I made to you years ago. Now I’ve gone and done it again
I was going to comment on this when you posted, but then I figured you probably don’t do that in your actuall code!
A class needs to “binding aware” to have bidirectional binding or more precisely the binding to pick up any change of a property that was bound. WPF uses the famous
INotifyPropertyChanged for that. When binding to a property of an object implementing that interface the binding code registers a nofication handler on that interface so the setter code can send out a notification about the property change and any binding for that property can react to that.
A similar (yet slightly over engineered and pretty heavy) mechanism exists in
TComponent via the
Observers property. This is being used by the VCL controls to notify the binding mechanism of some change - for example in
TCustomEdit.KeyPress when the Key was
I could rant all day about how big of a mess the entire binding system is. Just look into the code how many different classes it requires to bind a
TEdit.Text to a
TLabel.Caption - if I would not know this any better I would say it was some Java developer who designed this.