Faites glisser et déposez les dans WPF ListView

Je suis en utilisant WPF ListView, où SelectionMode est définie à l'Étendue (vous pouvez sélectionner plusieurs éléments seulement avec ctrl enfoncé). J'ai besoin de mettre en œuvre des D&D, entre deux ListViews. Pour effectuer événement glisser, j'ai utilisé DragItem événement en WinForms, mais un tel événement n'est pas fourni dans wpf. J'ai décidé d'utiliser ListViewItem PreviewMouseDownClick

private void ListViewItemMouseDownClick(object sender, MouseButtonEventArgs e)
{
    if (!this.AllowDragDrop)
    {
        return;
    }

    DragDrop.DoDragDrop(
        ListViewItemsCollection, this.SelectedItems, DragDropEffects.Copy | DragDropEffects.Move);
}

Malheureusement, cette solution a un bug: la sélection d'un seul élément (sans la touche ctrl enfoncée). Cependant, j'ai besoin de double-cliquez sur pour sélectionner l'élément, tandis que la touche ctrl est enfoncée pour sélectionner plusieurs éléments. Il n'y a pas de différence lors de l'utilisation du ListView PreviewMouseDown ou ListViewItem de PreviewMouseDown. Toutes les idées sur la façon de résoudre le problème?

Gong Glisser-Déposer Cadre de WPF qui prend en charge MVVM
Voir ceci: stackoverflow.com/questions/6929474/...
Gong est le Glisser-Déposer ne fonctionne pas installé NuGet. (Je ne me souviens pas exactement de ce qui est mal, mais l'app ne pouvait pas charger assemlby). Je vais essayer la deuxième solution. Il ressemble à un hack (j'espère qu'il y élégante solution), mais si elle est de travailler.. il vaut la peine d'essayer.
Malheureusement, la mise en œuvre que l'utilisation MouseMove ne fonctionne pas dans l'Étendue SelectionMode. Lorsque plusieurs éléments sont sélectionnés, et je les faire glisser par l'un d'eux, seul l'un d'eux séjour sélectionné .
Procurez-vous la dernière GongSolutions.WPF.DragDrop de la bibliothèque à partir de github.com/punker76/gong-wpf-dragdrop, j'ai juste compilé et la démo fonctionne très bien.

OriginalL'auteur | 2013-03-18