private void trvBooks_Drop(object sender, DragEventArgs e) { try { if (e.Data.GetDataPresent(DataFormats.FileDrop, true)) { string[] fileNames = e.Data.GetData(DataFormats.FileDrop, true) as string[]; if (fileNames != null && fileNames.Length > 0) { TreeViewItem trvNode = new BauMvvm.Views.Tools.ToolsWpf().FindAncestor <TreeViewItem>((DependencyObject)e.OriginalSource); BaseNodeViewModel nodeTarget = null; // Si se ha encontrado algún nodo, recoge el objeto ViewModel if (trvNode != null) { nodeTarget = trvNode.Header as BaseNodeViewModel; } // Crea los nodos de eBook ViewModel.CreateEBookNodes(nodeTarget, fileNames, BookLibraryPlugin.MainInstance.HostPluginsController.ControllerWindow.ShowQuestion("¿Desea eliminar los archivos originales?")); } } } catch (Exception exception) { BookLibraryPlugin.MainInstance.HostPluginsController.ControllerWindow.ShowMessage("Excepción al recoger los archivos: " + exception.Message); } }
private void trvExplorer_Drop(object sender, DragEventArgs e) { try { if (e.Data.GetDataPresent(DataFormats.FileDrop, true)) { string[] fileNames = e.Data.GetData(DataFormats.FileDrop, true) as string[]; if (fileNames != null && fileNames.Length > 0) { TreeViewItem trvNode = new BauMvvm.Views.Tools.ToolsWpf().FindAncestor <TreeViewItem>((DependencyObject)e.OriginalSource); IHierarchicalViewModel nodeTarget = null; // Si se ha encontrado algún nodo, recoge el objeto ViewModel if (trvNode != null) { nodeTarget = trvNode.Header as IHierarchicalViewModel; } } } } catch (Exception exception) { ViewModel.PlugStudioController.ControllerWindow.ShowMessage("Excepción al recoger los archivos: " + exception.Message); } }
/// <summary> /// Obtiene el nodo destino en el árbol a partir de los datos de un evento /// </summary> private BaseNodeViewModel GetTreeNodeFromEventTarget(DependencyObject eventTarget) { TreeViewItem trvNode = new BauMvvm.Views.Tools.ToolsWpf().FindAncestor <TreeViewItem>((DependencyObject)eventTarget); if (trvNode != null) { return(trvNode.Header as BaseNodeViewModel); } else { return(null); } }