Silverlight 3工具包 - ListBoxDragDropTarget

时间:2009-12-08 17:16:20

标签: c# silverlight-3.0 drag-and-drop

我有两个列表框,我将一个项目拖到另一个项目。使用2009年11月版的Silverlight 3 Toolkit的ListBoxDragDropTarget构建。我在第二个列表框的Drop事件上有一个EventHandler。我正在尝试获取正在插入的项目的索引,以便我可以在项目集合中看到它之前的内容。有谁知道如何获取要在已删除项目上添加的项目的索引?

1 个答案:

答案 0 :(得分:1)

我想我找到了解决方案。

在ListBox(toList)上有一个ItemsContainerGenerator,它有一个事件ItemsChanged。通过检查以确保ItemsChangedEventArgs(e)操作是添加,然后根据ItemsChangedEventArgs返回的位置计算索引,我能够将项目放入ListBox。以下是代码。

刚刚传递了InitializeComponent(),添加了新的事件处理程序。

  

toList.ItemContainerGenerator.ItemsChanged + = new System.Windows.Controls.Primitives.ItemsChangedEventHandler(ItemContainerGenerator_ItemsChanged);

然后添加处理程序本身。

  

空隙   ItemContainerGenerator_ItemsChanged(对象   发件人,   System.Windows.Controls.Primitives.ItemsChangedEventArgs   e){if(e.Action ==   System.Collections.Specialized.NotifyCollectionChangedAction.Add)   {int index =(e.Position.Index +   e.Position.Offset); object obj =   toList.Items [指数];}}