private void OnDragInitialize(object sender, DragInitializeEventArgs e) { var draggedColumn = ((e.OriginalSource as RadListBoxItem) ?? (e.OriginalSource as FrameworkElement).ParentOfType<RadListBoxItem>()).DataContext as GridViewColumn; var dragVisual = new DragVisual() { Content = draggedColumn.Header }; var payload = DragDropPayloadManager.GeneratePayload(null); payload.SetData("DraggedColumn", draggedColumn); e.DragVisual = dragVisual; e.Data = payload; e.AllowedEffects = DragDropEffects.All; }
public FrameworkElement CreateDragVisual(DragVisualProviderState state) { var visual = new DragVisual(); var theme = StyleManager.GetTheme(state.Host); if (theme != null) { StyleManager.SetTheme(visual, theme); } visual.Content = state.DraggedItems.OfType<object>().FirstOrDefault(); visual.ContentTemplate = this.DraggedItemTemplate; return visual; }
private void OnDragInitialize(object sender, DragInitializeEventArgs e) { var draggedColumn = ((e.OriginalSource as RadListBoxItem) ?? (e.OriginalSource as FrameworkElement).ParentOfType <RadListBoxItem>()).DataContext as GridViewColumn; var dragVisual = new DragVisual() { Content = draggedColumn.Header }; var payload = DragDropPayloadManager.GeneratePayload(null); payload.SetData("DraggedColumn", draggedColumn); e.DragVisual = dragVisual; e.Data = payload; e.AllowedEffects = DragDropEffects.All; }
public FrameworkElement CreateDragVisual(DragVisualProviderState state) { var visual = new DragVisual(); var theme = StyleManager.GetTheme(state.Host); if (theme != null) { StyleManager.SetTheme(visual, theme); } visual.Content = state.DraggedItems.OfType <object>().FirstOrDefault(); visual.ContentTemplate = this.DraggedItemTemplate; return(visual); }
private void AssociateObject_PreviewDragEnter(object sender, DragEventArgs e) { if (AssociatedObject.ItemTemplate != null) { if (_dragVisual == null) { FrameworkElement source = sender as FrameworkElement; Point dragStart = DragManager.DragStartPosition; FrameworkElement dragItem = GetItemContainerFromPoint(AssociatedObject, dragStart) as FrameworkElement; Point itemPos = dragItem.TranslatePoint(new Point(), source); Point position = e.GetPosition(source); Point offset = new Point(dragStart.X - itemPos.X, dragStart.Y - itemPos.Y); Size size = new Size(dragItem.ActualWidth, dragItem.ActualHeight); IList data = DragDataManager.GetData(e.Data); _dragVisual = new DragVisual(data, source, AssociatedObject.ItemTemplate, offset, size); } e.Handled = true; } }
private void AssociatedObject_PreviewDragLeave(object sender, DragEventArgs e) { _dragVisual.Destroy(); _dragVisual = null; }
private void OnDragInitialize(object sender, DragInitializeEventArgs e) { var treeViewItem = e.OriginalSource as RadTreeViewItem ?? (e.OriginalSource as FrameworkElement).ParentOfType<RadTreeViewItem>(); var data = treeViewItem != null? treeViewItem.Item : (sender as RadTreeView).SelectedItem; var payload = DragDropPayloadManager.GeneratePayload(null); var dropDetails = new DropIndicationDetails(); dropDetails.CurrentDraggedItem = data; DragVisual visual = new DragVisual() { Content = dropDetails, ContentTemplate = data is CategoryViewModel ? this.AssociatedObject.Resources["CategoryDragTemplate"] as DataTemplate : this.AssociatedObject.Resources["ProductDragTemplate"] as DataTemplate }; payload.SetData("DraggedData", data); payload.SetData("DropDetails", dropDetails); e.DragVisual = visual; e.DragVisualOffset = e.RelativeStartPoint; e.Data = payload; e.AllowedEffects = DragDropEffects.All; FrameworkElement sourceItem = e.OriginalSource as RadTreeViewItem ?? (e.OriginalSource as FrameworkElement).ParentOfType<RadTreeViewItem>(); if (sourceItem == null) { this.sourceItems = (IList)this.AssociatedObject.ItemsSource; } else { this.sourceItems = (sourceItem as RadTreeViewItem).ParentItem != null ? (IList)(sourceItem as RadTreeViewItem).ParentItem.ItemsSource : (IList)this.AssociatedObject.ItemsSource; } this.sourceItem = sourceItem.DataContext; this.destinationItems = this.AssociatedObject.ItemsSource as IList; this.isTreeSource = true; }