2009-12-08 4 views
1

하나의 항목을 다른 항목으로 드래그하는 두 개의 목록 상자가 있습니다. 2009 년 11 월 Silverlight 3 Toolkit의 ListBoxDragDropTarget 빌드를 사용합니다. 두 번째 목록 상자의 Drop 이벤트에 EventHandler가 있습니다. 삽입 될 항목의 색인을 가져 오려고하므로 항목 컬렉션에서 그 항목 앞에 오는 것을 볼 수 있습니다. 누구든지 삭제 된 항목에 추가 할 항목의 인덱스를 얻는 방법을 알고 있습니까?Silverlight 3 Toolkit - ListBoxDragDropTarget

답변

1

나는 해결책을 찾아 냈다고 생각합니다.

ListBox (toList)에는 ItemsChanged 이벤트가있는 ItemsContainerGenerator가 있습니다. ItemChangedEventArgs (e) 액션이 추가되었는지 확인한 다음 ItemsChangedEventArgs에서 반환 된 위치를 기반으로 인덱스를 계산하여 항목을 ListBox로 가져올 수있었습니다. 아래는 코드입니다.

새 이벤트 처리기를 추가하기 만하면 InitializeComponent()가 전달됩니다.

toList.ItemContainerGenerator.ItemsChanged + = 새로운 System.Windows.Controls.Primitives.ItemsChangedEventHandler (ItemContainerGenerator_ItemsChanged);

그런 다음 처리기 자체를 추가하십시오.

공극 ItemContainerGenerator_ItemsChanged (객체 송신자 System.Windows.Controls.Primitives.ItemsChangedEventArgs E) {경우 (e.Action의 == System.Collections.Specialized.NotifyCollectionChangedAction.Add) {INT 인덱스 = (e.Position.Index + e.Position.Offset); object obj = toList.Items [index];}}

관련 문제