У меня есть таблица данных WPF, и я реализую функцию перетаскивания.
Сеть данных имеет список «файлов», и пользователь может перетащить их и скопировать файл на рабочий стол.
Это сделанокак это:
string[] files = new String[myDataGrid.SelectedItems.Count];
int ix = 0;
foreach (object nextSel in myDataGrid.SelectedItems)
{
files[ix] = ((Song)nextSel).FileLocation;
++ix;
}
string dataFormat = DataFormats.FileDrop;
DataObject dataObject = new DataObject(dataFormat, files);
DragDrop.DoDragDrop(this.myDataGrid, dataObject, DragDropEffects.Copy);
У меня есть два вопроса:
1. Когда я хочу перетащить несколько элементов - это проблема, потому что после того, как я выбираю пару и начинаю нажимать на один, чтобы начать перетаскивание - толькокоторый выбирается, а другие элементы отменяются.Я пробовал решение, которое указано здесь , но по какой-то причине оно не работает.
2. Я хочу удалить перетаскиваемый элемент из сетки данных после его копирования.Проблема в том, что я не знаю, как проверить, был ли файл скопирован или пользователь просто перетянул его на экран, не копируя его.
Надеюсь, вы поможете мне решить эти проблемы.
Спасибо!