Hi I'm looking at the BugTrackerDragDrop same, inside TeamExplorerView. You don't have the inbuilt one enabled in this demo. So some questions.
1. What's the difference between using the internal IsDragDropEnabled property of the tree together with the IsDropAllowedProperty of the RadTreeViewItem and using attached properties AllowDrag & AllowDrag from the Manager? I notice that by default the internal omethod seems to distinguish inside/after/before but not have arrow cues. Essentially I'm guessing that if you want to drag external items in you use the manager at the cost of the having the BetweenItemsDragCue/DropPosition. Correct?
2. These properties are hard coded to true a style for the ItemContainer of a RadTreeViewItem... if I wanted to bind them should I use something like this?
3. Could you give an idea of best practice for where to place business rules?
Is it better to Bind to boolean properties (as above) or is Command binding possible or should we handle business logic in the drag/drop events?
I notice that your metadata remarks for the IsDropPossible method of a RadTreeViewItem states that we should use events but which one?
1. What's the difference between using the internal IsDragDropEnabled property of the tree together with the IsDropAllowedProperty of the RadTreeViewItem and using attached properties AllowDrag & AllowDrag from the Manager? I notice that by default the internal omethod seems to distinguish inside/after/before but not have arrow cues. Essentially I'm guessing that if you want to drag external items in you use the manager at the cost of the having the BetweenItemsDragCue/DropPosition. Correct?
2. These properties are hard coded to true a style for the ItemContainer of a RadTreeViewItem... if I wanted to bind them should I use something like this?
<telerik:ContainerBindingCollection x:Key="ContainerBindings">
<telerik:ContainerBinding PropertyName="dragDrop:RadDragAndDropManager.AllowDrag" Binding="{Binding CanMove}"/>
<telerik:ContainerBinding PropertyName="dragDrop:RadDragAndDropManager.AllowDrop" Binding="{Binding CanHost}"/>
</telerik:ContainerBindingCollection>
3. Could you give an idea of best practice for where to place business rules?
Is it better to Bind to boolean properties (as above) or is Command binding possible or should we handle business logic in the drag/drop events?
I notice that your metadata remarks for the IsDropPossible method of a RadTreeViewItem states that we should use events but which one?
// Remarks:
// The method makes sure that parents will nto be dropped in their children
// and that no items will be dropped in a destination which has its IsDropAllowed
// property set to false.
// This method is not meant to implement business or application logic. The
// DragDrop events can be handled to implement additional validation / logic.