private void Tree_Selected(object sender, RoutedEventArgs e) { //string str = (string)e.Data.GetData(typeof(string)); TreeViewItem treeViewItemDrop = e.OriginalSource as TreeViewItem; nodeDrop = treeViewItemDrop.DataContext as ObjectitemTabTree; if (nodeDrop != null) { MessageBox.Show(nodeDrop.TabTreeName); } }
private void TreeView_Drop(object sender, DragEventArgs e) { //string str = (string)e.Data.GetData(typeof(string)); ObjectitemToDragToTree DroopedItem = e.Data.GetData(typeof(ObjectitemToDragToTree)) as ObjectitemToDragToTree; TreeViewItem treeViewItem = FindAncestor <TreeViewItem>((DependencyObject)e.OriginalSource); if (treeViewItem != null) { nodeDrop = treeViewItem.DataContext as ObjectitemTabTree; var droppedNode = (ObjectitemTabTree)treeViewItem.Header; if (nodeDrop.Source != null) { MaskDescriptionModel mask = new MaskDescriptionModel(); ObjectMaskDescription listMask = new ObjectMaskDescription(); listMask.Name = DroopedItem.ToDragTreeName; mask.TabName = listMask; object idFromValue = new object(); try { idFromValue = DroopedItem.Source.Attributes.Where(x => x.Id.Equals(AttributeId.Aid)).Select(x => x.Value).FirstOrDefault(); } catch { MessageBox.Show("Id cant befound for this attribute, please check value at TId."); } ObjectitemTabTree obj = new ObjectitemTabTree(mask); obj.AddedId = idFromValue.ToString(); nodeDrop.TabTreeChildren.Add(obj); treeViewItem.Items.Refresh(); if (nodeDrop != null) { MessageBox.Show("You have added item to " + nodeDrop.TabTreeName); } } else { MessageBox.Show("Please drag to an attribute tab."); } } else { MessageBox.Show("Please select a proper drop off point."); } }