A possible reason for the mentioned behavior is that you are overriding the inherited data context by explicitly setting the Source
property. In order to fix this you can comment-out the myBinding.Source = setting; line in your code.
On a side note when adding / removing a lot of PropertyDefinitions
(for example more than 100) at runtime, you should consider invoking the respective SuspendNotifications()
methods and raise notifications only once for all the operations.
Please give the suggested approach a try and let us know how it goes.
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.