У меня есть проект ac #, использующий версию 4.0 .net framework и работающий на VS 2010. Я создал древовидное представление, заполненное некоторыми расширенными узлами дерева.Я хочу, чтобы пользователь мог копировать, вырезать и вставлять эти узлы в буфер обмена с помощью контекстного меню или сочетаний клавиш (а не просто перетаскивания).
Код работает нормально при копировании, но когдаЯ пытаюсь вставить эти узлы, он выдает эту ошибку: Невозможно привести объект типа 'System.IO.MemoryStream' к типу 'Namespace Path.TreeNodeEx'.
Вот мои методы вырезания / копирования / вставки.
public void Copy()
{
Clipboard.SetData("Tree Node Ex", CurrentTreeNode.Clone());
}
public void Paste()
{
CurrentTreeNode.Nodes.Add((TreeNodeEx)Clipboard.GetData("Tree Node Ex"));
}
Я подозреваю, что проблема связана с сериализацией, но я попытался реализовать интерфейс ISeralizable и атрибут [Serializable] безрезультатно.
Есть предложения?