Получите SurfaceListBoxItem и ScatterViewItem, когда объект будет пропущен на SurfaceListBox и ScatterView

Я пропускаю объект ( ScatterViewItem ) на SurfaceListBox с s:SurfaceDragDrop событие, и это хорошо работает, обнаруживая понижение на целом SurfaceListBox , однако, я хочу знать, в котором SurfaceListBoxItem был пропущен объект.

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

Мой код - что-то вроде этого:






И затем я добавляю свои пункты:

listBoxList.Items.Add("ListBox Item 1");
listBoxList.Items.Add("ListBox Item 1");
listBoxList.Items.Add("ListBox Item 1");

scatterList.Items.Add("ScatterViewItem A");
scatterList.Items.Add("ScatterViewItem B");
scatterList.Items.Add("ScatterViewItem C");

Таким образом, как я могу получить пункт на ListBox_Drop и Scatter_Drop ?

РЕДАКТИРУЮТ

Через Роберта отвечают, что мне удалось решить мою проблему. Таким образом, получающийся код был бы чем-то вроде этого (для ScatterView ):


    
        
    

И для SurfaceListBox :


    
        
    

3
nl ja de

2 ответы

You need to set AllowDrop and hook up your Drop event handler for each individual ScatterViewItem & ListBoxItem. Then the source of the event will be the item that got dropped upon.

1
добавлено
у вас могут быть все 50 пунктов изделия к той же самой функции обработчика событий, но каждому пункту нужно было установить AllowDrop на нем непосредственно
добавлено автор Robert Levy, источник
Это действительно работает, но это doesn' t кажутся надлежащим способом сделать это. Если у меня есть 50 пунктов, у меня должно быть одно событие снижения а не 50. Просветите меня если I' m пропавшие без вести чего-то здесь.
добавлено автор Schrödinger's Box, источник
Спасибо Роберт для получения информации, я решил его, и решение находится на моем первом посту.
добавлено автор Schrödinger's Box, источник

Маленькое исправление я думаю к вышеупомянутому решению.