2009-12-08 54 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];}}