Drag drop treeviewitem header text to TextBox
-
Thursday, January 31, 2008 12:41 AM
Hello,
I have a WPF application with a TreeView control and a TextBox control. I am struggling with dragging the treeviewitem header text into the textbox at the cursor location. I believe all WPF controls have the AllowDrop property set to true. What events will I have to implement to drag "item1" string and drop it on the textbox?
<TreeView Name="treeview1">
<
TreeViewItem Header="Root"> <TreeViewItem Header ="item1"> </TreeViewItem> <TreeViewItem Header="item2"> </TreeViewItem> <TreeViewItem Header="item3"> </TreeViewItem><TreeViewItem>
</TreeView>Thanks and Regards,
Sheetal
All Replies
-
Monday, February 04, 2008 3:16 AM
The following code works pretty well for me:
Code Snippet<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TreeView
Grid.Column="0"
Name="treeview1"
TreeViewItem.PreviewMouseLeftButtonDown="TreeViewItem_PreviewMouseLeftButtonDown">
<TreeViewItem Header="Root">
<TreeViewItem Header="item1"/>
<TreeViewItem Header="item2"/>
<TreeViewItem Header="item3"/>
</TreeViewItem>
</TreeView>
<TextBox Grid.Column="1" Name="textBox" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</Grid>private void TreeViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
TreeViewItem item = e.Source as TreeViewItem;
if (item != null)
{
DataObject dataObject = new DataObject();
dataObject.SetData(DataFormats.StringFormat, item.Header.ToString());
DragDrop.DoDragDrop(item, dataObject, DragDropEffects.Copy);
}
}
Hope this helps

