我有一个列表框,其中包含一些文本值
<ListBox x:Name="DragSource" PreviewMouseMove="DragSource_OnPreviewMouseMove" SelectedValuePath="Content">
<ListBoxItem>first</ListBoxItem>
<ListBoxItem>second</ListBoxItem>
</ListBox>
和事件处理程序
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);
}
}
可以将项目拖放到我的其他列表框或其他应用程序(如Word或Excel)中。如果DragDrop效果是“Move”,我如何检测文本是否被删除(例如在Word中)并删除ListBoxItem?