Category / Section
How to expand TreeViewItem based on DragOverExpandDelay Timespan Property while dragging the item over the node?
1 min read
You can expand TreeViewItem based on the DragOverExpandDelay Timespan property while dragging the item over the node.
TreeViewAdv represents a new time span property called DragOverExpandDelay, that is used to define how long the TreeViewItem needs to wait before it expands, while dragging over the item.
You can achieve the above using the following code example.
XAML
//To expand TreeViewItem based on DragOverExpandDelay <syncfusion:TreeViewAdv DragOverExpandDelay="0:0:5" AllowDragDrop="True"> <syncfusion:TreeViewItemAdv Header="Root1"> <syncfusion:TreeViewItemAdv Header="Root1Item1"/> <syncfusion:TreeViewItemAdv Header="Root1Item2"/> <syncfusion:TreeViewItemAdv Header="Root1Item3"/> <syncfusion:TreeViewItemAdv Header="Root1Item4"/> </syncfusion:TreeViewItemAdv> <syncfusion:TreeViewItemAdv Header="Root2"> <syncfusion:TreeViewItemAdv Header="Root1Item1"/> <syncfusion:TreeViewItemAdv Header="Root1Item2"/> <syncfusion:TreeViewItemAdv Header="Root1Item3"/> <syncfusion:TreeViewItemAdv Header="Root1Item4"/> </syncfusion:TreeViewItemAdv> <syncfusion:TreeViewItemAdv Header="Root3"> <syncfusion:TreeViewItemAdv Header="Root1Item1"/> <syncfusion:TreeViewItemAdv Header="Root1Item2"/> <syncfusion:TreeViewItemAdv Header="Root1Item3"/> <syncfusion:TreeViewItemAdv Header="Root1Item4"/> </syncfusion:TreeViewItemAdv> </syncfusion:TreeViewAdv>
C#
//C# code demonstrates how to expand TreeViewItem based on DragOverExpandDelay TreeViewAdv treeViewAdv = new TreeViewAdv(); treeViewAdv.AllowDragDrop = true; treeViewAdv.DragOverExpandDelay = new TimeSpan(0, 0, 5); TreeViewItemAdv rootItem1 = new TreeViewItemAdv() { Header = "Root1" }; TreeViewItemAdv treeViewItem1 = new TreeViewItemAdv() { Header = "Root1Item1" }; TreeViewItemAdv treeViewItem2 = new TreeViewItemAdv() { Header = "Root1Item2" }; rootItem1.Items.Add(treeViewItem1); rootItem1.Items.Add(treeViewItem2); TreeViewItemAdv rootItem2 = new TreeViewItemAdv() { Header = "Root2" }; TreeViewItemAdv treeViewItem3 = new TreeViewItemAdv() { Header = "Root1Item1" }; TreeViewItemAdv treeViewItem4 = new TreeViewItemAdv() { Header = "Root1Item2" }; rootItem2.Items.Add(treeViewItem3); rootItem2.Items.Add(treeViewItem4); treeViewAdv.Items.Add(rootItem1); treeViewAdv.Items.Add(rootItem2); grid.Children.Add(treeViewAdv);
The following screenshot displays the delay applied for the TreeViewItem.
Figure 1: Delay applied for the TreeViewItem