2009-12-08 57 views
1

我有兩個列表框,我從一個項目拖動到另一個。使用2009年11月版本的Silverlight 3 Toolkit的ListBoxDragDropTarget。我在第二個列表框的Drop事件上有一個EventHandler。我正在嘗試獲取正在插入的項目的索引,以便在項目集合中查看它之前的內容。有誰知道如何獲取要添加到物品上的物品的索引?Silverlight 3 Toolkit - ListBoxDragDropTarget

回答

1

我想我想出瞭解決方案。

在列表框(toList)存在具有ItemsChanged事件的ItemsContainerGenerator。我能夠獲得該項目被檢查以確保ItemsChangedEventArgs(五)行動添加,然後找出基於該從ItemsChangedEventArgs返回的位置,指數下跌到列表框。以下是代碼。

剛通過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];}}