Sorry for the late response.
Yes you can create collection from some business objects and bind it to RadMenu.
If this collection implements INotifyCollectionChanged then RadMenu will update its items when you change the collection.
Also if the items in this collection implement INotifyPropertyChanged then the corresponding RadMenuItems will update its content.
You can see how to create and you RadMenu and HierarchicalDataTemplate from this example:
For my regret Silverlight 2 do not support Bindings in Style setters. So you wont be able to bind RadMenuItem IsEnabled property to some property of your business object. But we are evaluating a way to overcome this limitation. So stay tuned.
One way to workaround this limitation now is to inherit from RadMenu and override PrepareContainerForItemOverride method. Then you can bind your business object with the corresponding RadMenuItem in code.
As for the right insertion point - this is possible. All you need to do is to insert the item in the correct place in your collection (assuming that your collection implement INotifyCollectionChanged and you have set this collection as ItemsSource on RadMenu).
RadMenuItem expose routed Click event so you can handle all menuItem clicks in one place of your code.
You can achieve your scenario easily.
Let me know if you need more help.
the Telerik team
Check out Telerik Trainer
, the state of the art learning tool for Telerik products.