У меня есть несколько проблем с буфером Windows в моем рабочем приложении WPF. Я пытаюсь получить содержимое буфера обмена, что-то делать (без записи на этом контенте, только читать) и повторно отправить содержимое в буфер обмена. Он запускается, но после повторной отправки содержимого, если я извлекаю содержимое буфера обмена и пытаюсь читать снова, у меня есть исключение OutOfMemory.Потеря данных при отправке данных в буфер обмена Windows
После поиска, я нашел эту ссылку: http://www.grumpydev.com/2009/09/05/system-outofmemoryexception-gotcha-using-clipboard-getdata-in-wpf/
Пришло возможно из-за проблемы сериализации, я думаю, что мои данные теряют свою сериализации attribut или иначе, когда я отправить его в буфер обмена.
Вот мой код:
var data = System.Windows.Clipboard.GetDataObject();
// Read "data"
System.Windows.Clipboard.Clear();
System.Windows.Clipboard.SetDataObject(data, true);
var dataTwo = System.Windows.Clipboard.GetDataObject();
// Read "dataTwo" ==> OutOfMemoryException
Обратите внимание, что данные не тип моего проекта, это может быть все (фотошоп, первенствует, изображение, текст, двоичный ...)
У кого-то есть идея исправить это?
Спасибо ип аванс
Hi, Спасибо за ваш ответ. Я пробовал то, что вы сказали, но это странно, у меня есть и MDA Excpetion, основанный на коде этого потока: http://stackoverflow.com/questions/1213074/winforms-interop-drag-drop-from-winforms- wpf Возможно, я забыл что-нибудь? –
У кого-нибудь есть идея? Я заблокирован –
Извините, это было мое лучшее предположение ... – oleksii