2010-03-22 7 views

Répondre

0

Vous souhaitez ajouter votre drag adorner durant le glisser. J'ai vu cela fait de plusieurs façons, mais une recherche rapide conduit à this behavior, qui a un motif aussi bien que je l'ai vu. Un échantillon représentatif est:

void itemsControl_PreviewDragEnter(object sender, DragEventArgs e) 
    { 
     ItemsControl itemsControl = (ItemsControl)sender; 
     if (e.Data.GetDataPresent(ItemType)) 
     { 
      object data = e.Data.GetData(ItemType); 
      InitializeDragAdorner(itemsControl, data, e.GetPosition(itemsControl)); 
      InitializeInsertAdorner(itemsControl, e); 
     } 
     e.Handled = true; 
    } 

Ils enveloppent toute la présentation de la parure de glisser bien dans la classe DragAdorner. (Je souhaite avoir fait le mien de cette façon, en fait)

J'ai également vu des astuces pour construire l'ornement à partir d'un pinceau visuel de l'élément initialement traîné, mais je pense que j'aime mieux cette approche jusqu'à présent.

BTW: Après avoir abordé cette question plusieurs fois, je vous recommande vivement d'enrouler votre code glisser-déposer dans un comportement. Sinon, vous vous retrouvez partout. Obtenir le bon commandant avec MVVM peut être assez difficile, mais ça vaut le coup, à mon humble avis.

+0

Merci pour l'aide :) – Kamikaze

Questions connexes