private void OnDragOver(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
        {
            TreeViewDragDropOptions options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;

            if (options == null)
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
                return;
            }
            var draggedItem = options.DraggedItems.FirstOrDefault();
            var itemsType   = (this.AssociatedObject.ItemsSource as IList).AsQueryable().ElementType;


            if (draggedItem.GetType() != itemsType)
            {
                e.Effects = DragDropEffects.None;
            }
            else
            {
                (options.DragVisual as TreeViewDragVisual).IsDropPossible = true;
                options.DropAction = DropAction.Move;
                options.UpdateDragVisual();
            }
            e.Handled = true;
        }
Ejemplo n.º 2
0
        private void OnDrop(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
        {
            TreeViewDragDropOptions options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;

            if (options == null)
            {
                return;
            }
            var draggedItem = options.DraggedItems.Cast <ProductViewModel>().ToList();

            if (draggedItem == null)
            {
                return;
            }

            if (e.Effects != DragDropEffects.None)
            {
                var collection = (sender as System.Windows.Controls.ListBox).ItemsSource as IList;
                foreach (var s in draggedItem)
                {
                    collection.Add(s);
                }
            }

            e.Handled = true;
        }
		private static Group GetDropGroup(TreeViewDragDropOptions options)
		{
			Group result = null;
			if (options != null && options.DropTargetItem != null)
			{
				result = options.DropTargetItem.Item as Group;
			}
			return result;
		}
        private void OnDrop(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
        {
            TreeViewDragDropOptions options = DragDropPayloadManager.GetDataFromObject(e.Data, TreeViewDragDropOptions.Key) as TreeViewDragDropOptions;

            if (options == null)
            {
                return;
            }
            var draggedItem = options.DraggedItems.FirstOrDefault();

            if (draggedItem == null)
            {
                return;
            }

            if (e.Effects != DragDropEffects.None)
            {
                var collection = (sender as System.Windows.Controls.ListBox).ItemsSource as IList;
                collection.Add(draggedItem);
            }

            e.Handled = true;
        }