WPF Drag and Drop

How to implement drag and drop for a WPF application? I could open 2 identical applications and drag an object from one to another. Here is what I want to drag:

<Grid Width="100" Height="50"> <Rectangle BackGround="Red"/> <TextBlock>Hello World</TextBlock> </Grid> 

The grid should look the same in another application, where it is being dragged, because the one that was from it was dragged. Any solutions?

+1
wpf drag-and-drop
source share
3 answers

I have used Gong Solutions Drag and Drop in the past, it is a very simple DLL to use. Here you can see a small example: Gong Solutions

+1
source share

Usage behavior:

You will need markup:

 <Window xmlns:i= "clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" xmlns:custom= "clr-namespace:CustomBehaviorsLibrary;assembly=CustomBehaviorsLibrary > 

example:

 <Canvas> <Rectangle Canvas.Left="10" Canvas.Top="10" Fill="Yellow" Width="40" Height="60"> </Rectangle> <Ellipse Canvas.Left="10" Canvas.Top="70" Fill="Blue" Width="80" Height="60"> <i:Interaction.Behaviors> <custom:DragInCanvasBehavior></custom:DragInCanvasBehavior> </i:Interaction.Behaviors> </Ellipse> <Ellipse Canvas.Left="80" Canvas.Top="70" Fill="OrangeRed" Width="40" Height="70"> <i:Interaction.Behaviors> <custom:DragInCanvasBehavior></custom:DragInCanvasBehavior> </i:Interaction.Behaviors> </Ellipse> 

+1
source share

WPF Drag and Drop example: using vb.net 2010

  <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="mofakfree" Title="drop test " Height="359" Width="329"> <Grid> <Label x:Name="label2" AllowDrop="True" Margin="159,30,12,0" Background="#FF1900FF" Content="To Here" DragEnter="label2_DragEnter" Drop="label2_Drop" Height="51" VerticalAlignment="Top" /> <Label x:Name="label1" AllowDrop="True" Margin="26,30,158,240" Background="#FFDE2626" Content="source" MouseDown="label1_MouseDown"/> </Grid> </Window> 

vb.net code:

  Class mofakfree Private Sub label1_MouseDown(ByVal sender as Object, ByVal e as System.Windows.Input.MouseButtonEventArgs) 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Dim lbl As Label = CType(sender, Label) DragDrop.DoDragDrop(lbl, lbl.Content, DragDropEffects.Copy) End Sub Private Sub label2_DragEnter(ByVal sender as Object, ByVal e as System.Windows.DragEventArgs) 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx If e.Data.GetDataPresent(DataFormats.Text) Then e.Effects = DragDropEffects.Copy Else e.Effects = DragDropEffects.None End If End Sub Private Sub label2_Drop(ByVal sender as Object, ByVal e as System.Windows.DragEventArgs) 'xxxxxxxxxxxxxxxxxx CType(sender, Label).Content = e.Data.GetData(DataFormats.Text) End Sub End Class 
-one
source share

All Articles