WPF / C # Перетаскивание из ListView на холст - PullRequest
0 голосов
/ 28 января 2011

У меня есть ListView с настраиваемым представлением для отображения элементов в виде значков.У меня также есть обычный старый холст.Я хочу, чтобы можно было перетащить элемент из ListView и поместить его на холст.

Теперь я просмотрел различные учебники о том, как выполнять перетаскивание.Кажется, что все, что я нашел, или не работает вообще, или делает намного больше, чем мне нужно.Соединение события Drop на Canvas и вызов DoDragDrop в событии PreviewMouseMove в ListView, похоже, не работает.Я начинаю перетаскивать, я получаю DragEnter / DragOver на холсте, но событие перетаскивания никогда не запускается (курсор остается в виде (/))

Я рассмотрел множество других решений, таких как DragDropбиблиотека или Drag Drop Smorgasbord на CodeProject.Похоже, что они предназначены для удаления самого элемента из элемента управления и размещения элемента управления в другом месте.Это не то, что мне нужно, все, что мне нужно, это обнаружить падение на Canvas из ListView, передать некоторые данные (сейчас это просто строка) и использовать эти данные для создания нового UIElement в Canvas.

Есть ли более простой подход, чем использование DoDragDrop?Я хотел бы иметь возможность иметь Adorners и тому подобное, но кажется, что некоторые из решений будут гораздо более трудоемкими, чем я должен был бы делать, и не будут делать то, что мне нужно в любом случае.

Ответы [ 2 ]

0 голосов
/ 28 января 2011

Создатель темы здесь ... сделал пост с незарегистрированной учетной записью, но зарегистрировался, потому что это место классное!Я понял мою проблему.Оказывается, я устанавливал эффекты в DragEnter / DragOver на то, чего у меня не должно быть.

Теперь я чувствую себя глупо.

Хотя спасибо за ответ!

0 голосов
/ 28 января 2011

Вы установили AllowDrop = "True" свойство на холсте?!?Ваше первое решение выглядит аккуратно, и оно должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...