RoutedEvents: Drag And Drop
<Window x:Class="RoutedEvents.DragAndDrop" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="DragAndDrop" Height="300" Width="400"> <StackPanel> <TextBox Padding="10" VerticalAlignment="Center" HorizontalAlignment="Center">Drag from this TextBox</TextBox> <Label Padding="20" Background="LightGoldenrodYellow" VerticalAlignment="Center" HorizontalAlignment="Center" MouseDown="lblSource_MouseDown">Or this Label</Label> <Label Background="LightGoldenrodYellow" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="20" AllowDrop="True" Drop="lblTarget_Drop">To this Label</Label> </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Collections.Generic Imports System.Text Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Namespace RoutedEvents Public Partial Class DragAndDrop Inherits System.Windows.Window Public Sub New() InitializeComponent() End Sub Private Sub lblSource_MouseDown(sender As Object, e As MouseButtonEventArgs) Dim lbl As Label = DirectCast(sender, Label) DragDrop.DoDragDrop(lbl, lbl.Content, DragDropEffects.Copy) End Sub Private Sub lblTarget_Drop(sender As Object, e As DragEventArgs) DirectCast(sender, Label).Content = e.Data.GetData(DataFormats.Text) End Sub Private Sub lblTarget_DragEnter(sender As Object, e As DragEventArgs) If e.Data.GetDataPresent(DataFormats.Text) Then e.Effects = DragDropEffects.Copy Else e.Effects = DragDropEffects.None End If End Sub End Class End Namespace