J'ai un Listbox, qui contient un texte valeursComment déterminer événement Baisse DragSource
<ListBox x:Name="DragSource" PreviewMouseMove="DragSource_OnPreviewMouseMove" SelectedValuePath="Content">
<ListBoxItem>first</ListBoxItem>
<ListBoxItem>second</ListBoxItem>
</ListBox>
et gestionnaire d'événements
private void DragSource_OnPreviewMouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed && DragSource.SelectedItem != null)
{
var data = new DataObject(DataFormats.Serializable, DragSource.SelectedItem);
var value = (string)DragSource.SelectedValue;
data.SetData(DataFormats.Text, value);
var de = DragDrop.DoDragDrop(DragSource, data, DragDropEffects.All);
}
}
Les articles peuvent être déposés à mon autre ListBox ou dans d'autres applications comme Word ou Excel. Comment puis-je détecter ce texte a été supprimé (par exemple dans Word) et supprimer ListBoxItem si l'effet DragDrop est "Move"?
Mon dragsource a des événements GiveFeedback et QueryContinueDrag, où je peux trouver les effets qui s'appliquent maintenant. QueryContinueDragEventArgs possède une action qui peut être Annuler, Supprimer ou Continuer. Mais je reçois seulement l'événement Continue. – Steck
QCD est uniquement là pour vous permettre de changer le D + D lorsque l'état du clavier ou de la souris a changé. Oui, Action est définie sur Continuer car c'est la valeur par défaut. L'affecter termine le D + D. –