In the early days of Silverlight binding support for advanced dynamic scenarios was very limited (remember my DataTable?). Since then, however, the platform has evolved greatly – so did our tools!
Now to bind RadGridView to some dynamic data you just need ObservableCollection<dynamic>:
RadGridView will auto-generate columns automatically using your DynamicObject GetDynamicMemberNames() implementation and will call your TryGetMember/TrySetMember (TryGetIndex/TrySetIndex in case of indexer binding) methods when needed.
To illustrate this I’ve made small example project (similar to this blog post) demonstrating RadGridView bound to collection of custom dynamic objects populated with unknown data from a serialized DataTable using plain WCF service:
Enjoy!
Vladimir Enchev is Director of Engineering, Native Mobile UI & Frameworks