Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Как вы реализуете Drag&Drop в своих приложениях?


Автор: Rohoss 7.1.2011, 13:13
Как вы реализуете Drag&Drop в своих приложениях? Вообще ищу, пока без результатно, хорошую библиотеку для реализации Drag&Drop в WPF. Так же не плохо было бы если бы она умела взаимодействовать с проводником. А как вы этот вопрос решали?

Автор: WolfTheGrey 7.1.2011, 13:19
пальчиками.

Автор: Rohoss 7.1.2011, 16:20
Цитата(WolfTheGrey @  7.1.2011,  13:19 Найти цитируемый пост)
пальчиками.

ну хотелось бы с хорошей анимацией и тд  smile 

Автор: Kefir 8.1.2011, 01:55
А в чём проблема-то? То есть сейчас вопрос очень похож на что-то вроде "как вы подписываетесь на события?"

Определяем куда дропать, обрабатываем правильные события, при необходимости ставим анимашки куда надо. У меня небольшой класс всем этим делом, как правило, занимается (шоб руками в пяти местах не подписываться а писать а-ля DragDropManager.Setup(el). Или вы к чему?

Автор: WolfTheGrey 8.1.2011, 11:04
он хочет полный код, 
Жажда Халявы у него. Вон аватарка какая. Тип мол парни я тут не причем, я на чай зашел. А сам глазками щелк щелк, и глядишь твоя идея запонтетована кемто другим.

Автор: Rohoss 8.1.2011, 11:58
Цитата(WolfTheGrey @  8.1.2011,  11:04 Найти цитируемый пост)
А сам глазками щелк щелк, и глядишь твоя идея запонтетована кемто другим.

WolfTheGrey, ты смотри поосторожней, а то твою супер пупер гениальную идею сейчас сопрут smile 

Цитата(WolfTheGrey @  8.1.2011,  11:04 Найти цитируемый пост)
 Вон аватарка какая. 

Так, просьба не трогать мою новогоднюю аватарку  smile 
Цитата(Kefir @  8.1.2011,  01:55 Найти цитируемый пост)
Определяем куда дропать, обрабатываем правильные события, при необходимости ставим анимашки куда надо.


Цитата(Kefir @  8.1.2011,  01:55 Найти цитируемый пост)
Определяем куда дропать, обрабатываем правильные события, при необходимости ставим анимашки куда надо.


Kefir, а взаимодействие с проводником как решаете? WolfTheGrey прав, хочется готовую реализацию найти, со взаимодействием с проводником и уже имеющейся хорошей анимацией. Только вот что в этом плохого в том, что хочу найти вместо того чтобы самому писать не понимаю  smile 

Автор: Kefir 8.1.2011, 13:15
Цитата(Rohoss @  8.1.2011,  11:58 Найти цитируемый пост)
Kefir, а взаимодействие с проводником как решаете?

А есть разница откуда дропать? По мне так одна малина.

Цитата(Rohoss @  8.1.2011,  11:58 Найти цитируемый пост)
что в этом плохого в том, что хочу найти вместо того чтобы самому писать не понимаю

Да ничего плохого нет. Только дело это неблагодарное. Драгдроп - дело очень настраиваемое под случаи. У меня есть очень простой класс, который подключает эвенты в упрощенном виде. А дальше упрощать - это себе дороже.

Так что вряд ли есть какой-то смысл в поиске крутых библиотек специально для этого. Обрабатывайте эвенты как всегда. А если надо - напишите свой менеджер драгдропа, который будет вам подходить для простейших вещей. Делом немного, а от посторного кода спасёт (и от загрязнения code-behind файлов).

Если же инетересен сам механизм подключения, то я пишу примерно так:
Код

<ItemsControl dragdrop:Receive.From="trulalaControl"/>
<ItemsControl x:Name="trulalaControl" ItemsSource="{Binding ...}"/>


По-моему очень приятно выглядит. Делает то, что мне надо, никого не беспокоит.

Автор: Rohoss 8.1.2011, 14:13
Цитата(Kefir @  8.1.2011,  13:15 Найти цитируемый пост)
А есть разница откуда дропать? По мне так одна малина.

Так при перетаскивании в проводник анимация не работает. Хотя, это ведь уже забота проводника... Но тем не менее, если перетаскивать непосредственно проводником внутри проводника всё красиво получается...

Автор: WolfTheGrey 9.1.2011, 01:13
А этим батенька занимается событие DRAG.
Смотри что нетак, и правь ошибки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)