WPF drag and drop и типы данных - PullRequest
       5

WPF drag and drop и типы данных

3 голосов
/ 20 апреля 2011

Может быть, у меня вопрос nooby, но я не смог найти ответ ...

У меня есть приложение перетаскивания в wpf ... У меня есть встроенный интерфейс, и я хочу добавить функциональность ...

что мне нужно сделать, это когда я удаляю элемент в области конструктора, чтобы получить тип отброшенного объекта и добавить его в конкретную структуру / список или что-то еще ...

как я могу это сделать?Спасибо!г.

Ответы [ 2 ]

7 голосов
/ 23 апреля 2011

Предполагая, что вы контролируете начало перетаскивания (вы не перетаскиваете из другого приложения), вам решать, какой тип. Просто сделайте исходный и целевой код совпадения. При перетаскивании (обычно это обработчик MouseMove или MouseDown):

        var dragData = new DataObject(typeof(JobViewModel), job);
        DragDrop.DoDragDrop(element, dragData, DragDropEffects.Move);

Начинает перетаскивание. И затем в капле (кажется, что вы получили это далеко):

        var dataObj = e.Data as DataObject;
        var dragged = dataObj.GetData(typeof(JobViewModel)) as JobViewModel;

Вы также можете использовать строку вместо типа.

1 голос
/ 20 апреля 2011

Просто установите для свойства элемента управления AllowDrop значение true. И реализовать событие Drop на нем; Вы можете получить доступ к информации об удалении в аргументе события.

Для части GetData вы можете использовать это для получения определенных типов данных. Вот падение файла, например:

string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, true);

Спасибо

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