In my project I use a special mime type in DropMimeData() to recognise internal moves and handle them accordingly. I have set the view to handle drag and drop operations. You will need to subclass your model for this.