WPF faites Glisser et Déposez - Get source d'origine des informations à partir de DragEventArgs

Je suis en train d'écrire fonctionnalité de Glisser-Déposer à l'aide de MVVM qui va me permettre de glisser PersonModel objets à partir d'une ListView à l'autre.

C'est presque un travail, mais j'ai besoin d'être en mesure d'obtenir l'ItemsSource de la source de contrôle ListView, de la DragEventArgs qui je ne peux pas comprendre comment le faire.

private void OnHandleDrop(DragEventArgs e)
{
    if (e.Data != null && e.Data.GetDataPresent("myFormat"))
    {
        var person = e.Data.GetData("myFormat") as PersonModel;
        //Gets the ItemsSource of the source ListView
        ..

        //Gets the ItemsSource of the target ListView and Adds the person to it
        ((ObservableCollection<PersonModel>)(((ListView)e.Source).ItemsSource)).Add(person);
    }
}

Toute aide serait grandement appréciée.

Merci!

Dans mon glisser-déposer de la mise en œuvre, j'ai créé la classe DragManager (singleton) et ajout d'un champ privé draggingElement. Parce qu'un élément peut être déplacé à la fois.

OriginalL'auteur Jason Quinn | 2010-12-23