Index: Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs =================================================================== diff -u -r22e2b27f5112a746db421ba7257c0ba7d510792e -r2c8ad1caa67a3ce2e5cae4086c8b4e7938fe5dac --- Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs (.../TreeNodeInfo.cs) (revision 22e2b27f5112a746db421ba7257c0ba7d510792e) +++ Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs (.../TreeNodeInfo.cs) (revision 2c8ad1caa67a3ce2e5cae4086c8b4e7938fe5dac) @@ -75,6 +75,25 @@ /// /// When dragging a node, the function of the of the drop target should be called. public Func CanDrop { get; set; } + + /// + /// Gets or sets a function for checking whether or not the tree node can be inserted into the drop target at a specific index. + /// The object parameter represents the wrapped data of the tree node. + /// The first parameter represents the tree node which is dragged. + /// The second parameter represents the tree node being considered as drop target. + /// + public Func CanInsert { get; set; } + + /// + /// Gets or sets an action for obtaining the logic to perform after dropping a tree node. + /// The object parameter represents the wrapped data of the tree node. + /// The first parameter represents the tree node which is dragged. + /// The second parameter represents the tree node being considered as drop target. + /// The parameter represents the type of drag operation that was performed. + /// The parameter represents the drop target index which the tree node was inserted at. + /// + /// When dragging a node, the function of the of the drop target should be called. + public Action OnDragDrop { get; set; } } /// @@ -144,7 +163,7 @@ /// Gets or sets a function for checking whether or not the tree node can be dragged to another location. /// The parameter represents the wrapped data of the tree node. /// - public Func CanDrag { get; set; } + public Func CanDrag { get; set; } /// /// Gets or sets a function for checking whether or not the tree node can be dropped to another location. @@ -155,9 +174,28 @@ /// The return value indicates what operation is valid when the tree node is dropped onto the drop target. /// /// When dragging a node, the function of the of the drop target should be called. - public Func CanDrop { get; set; } + public Func CanDrop { get; set; } /// + /// Gets or sets a function for checking whether or not the tree node can be inserted into the drop target at a specific index. + /// The parameter represents the wrapped data of the tree node. + /// The first parameter represents the tree node which is dragged. + /// The second parameter represents the tree node being considered as drop target. + /// + public Func CanInsert { get; set; } + + /// + /// Gets or sets an action for obtaining the logic to perform after dropping a tree node. + /// The parameter represents the wrapped data of the tree node. + /// The first parameter represents the tree node which is dragged. + /// The second parameter represents the tree node being considered as drop target. + /// The parameter represents the type of drag operation that was performed. + /// The parameter represents the drop target index which the tree node was inserted at. + /// + /// When dragging a node, the function of the of the drop target should be called. + public Action OnDragDrop { get; set; } + + /// /// This operator converts a into a . /// /// The to convert.