У меня есть проект С#, использующий версию 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].
Какие-либо предложения?