c# - Can't get drag and drop events to fire

I have been pounding my head on a table today trying to get my drag and drop events to fire. The drag and drop functionality works on the interface, but the events wont fire. I need the events to fire so I can update the database with the new order of the objects. What am I doing wrong?

In the code below, I place break points in the 'Drop' and 'DragOver' methods, but they never get hit.


<Window x:Class="Reorder_item_WPF.MainWindow"
        Title="MainWindow" Height="350" Width="525" 
        <ListBox Grid.Column="1" SelectionMode="Extended" ItemsSource="{Binding MSPCollection}" 
                 dd:DragDrop.IsDragSource="True" Width="300" Margin="0,0,5,0" dd:DragDrop.IsDropTarget="True">
                    <Grid Background="#2ba3d5" Height="50" Width="280">
                        <TextBlock Text="{Binding Name}" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="40"/>


public class MSP {
    public int Id { get; set; }
    public string Name { get; set; }        

class MainViewModel : IDropTarget
        public ObservableCollection<MSP> MSPCollection { get; set; }

        public MainViewModel() {
            MSPCollection = new ObservableCollection<MSP>();

            MSPCollection.Add(new MSP() { 
                Id = 1,
                Name = "Anis Derbel"

            MSPCollection.Add(new MSP()
                Id = 2,
                Name = "Firas Mdimagh"

            MSPCollection.Add(new MSP()
                Id = 3,
                Name = "Khaled Jemni"

            MSPCollection.Add(new MSP()
                Id = 4,
                Name = "Sahbouch"

        public void DragOver(IDropInfo dropInfo) {
            if (dropInfo.Data is MSP) {
                dropInfo.DropTargetAdorner = DropTargetAdorners.Highlight;
                dropInfo.Effects = DragDropEffects.Move;

        public void Drop(IDropInfo dropInfo) {
            MSP msp = (MSP)dropInfo.Data;

1 Answer

  1. Marcus- Reply


    You also need to set the DropHandler via the respective Attached Property:

    <ListBox ItemsSource="{Binding Collection}"
         dd:DragDrop.DropHandler="{Binding}" />

    From documentation

Leave a Reply

Your email address will not be published. Required fields are marked *

You can use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>