Σενάριο:
Εχω ένα business object με 5-6 properties (counters κυρίως) τους οποίους έχω δέσει με simple binding (mycontrol.databindings.add("text", myBusinessObject, "MyPropertyName") σε ορισμένα labels μιας φόρμας.
Τα συγκεκριμένα properties είναι read-only και αλλάζουν εσωτερικά από το ίδιο των business object το οποίο "πειράζει" όταν τρέχουν κάποιες methods του τα property backer variables. Οκ μεχρι εδώ, για να "βλέπουν" λοιπόν τα bound control τις αλλαγές χρειάζεται να υλοποιηθεί το INotifyPropertyChanged, όπως και έκανα.
Παρατήρησα όμως κάτι αξιον αναφοράς: Λογω του οτι στο ίδιο instance του business object έχω bound 5-6 properties σε αντίστοιχα labels της φόρμας μου, αρκεί να κάνω raiseEvent για ΕΝΑ από αυτά και ενημερώνονται οι τιμές και των 6 στη φόρμα! Δηλαδή, όταν σηκώνω το Event PropertyChanged είναι σαν να μην τον ενδιαφέρει το συγκεκριμένο property αλλά να κάνει update τα bindings όλων των properties που βρίσκονται bound στο συγκεκριμένο instance!
Κουλό, ή behaviour by design; Και αν by design, μήπως ξέρει κανείς το γιατί;
Σωτήρης Φιλιππίδης
DotSee Web Services