15
Sto provando a trascinare e rilasciare i file nella mia vista ad albero, ma non ho idea del perché si stia corrompendo se lo eseguo e provo a trascinare un file.Drag & Drop in Treeview
Il codice seguente è quello che ho provato. Per favore aiuto.
private void TreeViewItem_Drop(object sender, DragEventArgs e)
{
TreeViewItem treeViewItem = e.Source as TreeViewItem;
TreeViewItem obj = e.Data.GetData(typeof(TreeViewItem)) as TreeViewItem;
if ((obj.Parent as TreeViewItem) != null)
{
(obj.Parent as TreeViewItem).Items.Remove(obj);
}
else
{
treeViewItem.Items.Remove(obj);
treeViewItem.Items.Insert(0, obj);
e.Handled = true;
}
}
private void TreeViewItem_MouseLeftButtonDown(object sender,MouseButtonEventArgs e)
{
DependencyObject dependencyObject = _treeview.InputHitTest(e.GetPosition(_treeview)) as DependencyObject;
Debug.Write(e.Source.GetType().ToString());
if (dependencyObject is TextBlock)
{
TreeViewItem treeviewItem = e.Source as TreeViewItem;
DragDrop.DoDragDrop(_treeview, _treeview.SelectedValue, DragDropEffects.Move);
e.Handled = true;
}
}
Grazie a Erin il codice ha aiutato a capire cosa è andato storto. Nel mio MousePreviewDown c'erano un paio di cose sbagliate, come il punto in cui non ho usato Math.Abs (). Spiacente, il feedback è arrivato tardi :) – don
Questo ha risolto il problema? (Se la domanda è contrassegnata come risposta ??) –
ha risolto il problema per me – don