I am going to work on a solution that will allow a user to create an hieratical data structure using an interactive tree control. Some functionality will include: create parent or child and remove, add new child to the selected parent, add a sibling into the selected parent, and more. One of very important options I need is to sort the selected parent or manually putting children in an arbitrary order dragging them one by one. I understand that working via a data source is easier than synchronizing data with current state of the control. Another words, updating data source directly and then refreshing a tree will do most of the work, but I am not sure how easy it will be to keep nodes in an order that the user has selected dragging nodes around manually. With all of this in mind which direction to take: modified data source changes control's state or changes to a tree trigger data to update? Also I want to use spark controls only, but there is no a spark tree control as of right now. I have read that people are using Spark List instead. Can someone advise if List control will do all the work I need it to? Or maybe Spark tree control is just around the corner?
Thanks for ideas.