Я пытаюсь использовать функцию перетаскивания отсюда
Программа работает правильно, но когда я перетаскиваю строку внутри DataGrid, появляется сообщение об ошибке: p>
'Невозможно вставить внешние объекты в этот список'
Ниже приведен фрагмент кода, в котором генерируется ошибка:
private static void ExchangeItems(object sender, object targetItem)
{
var draggeditem = VisualHelper.GetDraggedItem(sender as DependencyObject);
if (draggeditem == null) return;
if (targetItem != null && !ReferenceEquals(draggeditem, targetItem))
{
var list = (sender as DataGrid).ItemsSource as IList;
//get target index
var targetIndex = list.IndexOf((object)targetItem);
//remove the source from the list
list.Remove((object)draggeditem);
//move source at the target's location
list.Insert(targetIndex, draggeditem);
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... list-error