C# Silverlight 3工具包-ListBoxDragDropTarget

C# Silverlight 3工具包-ListBoxDragDropTarget,c#,silverlight-3.0,drag-and-drop,C#,Silverlight 3.0,Drag And Drop,我有两个列表框,我正在从一个项目拖动到另一个项目。使用Silverlight 3工具包的ListBoxDragDropTarget的2009年11月版本。我在第二个列表框的Drop事件上有一个EventHandler。我正在尝试获取正在插入的项的索引,以便在项集合中看到它前面的内容。有人知道如何获取要添加到已删除项上的项的索引吗 我想我找到了解决办法 在列表框(toList)上有一个ItemsContainerGenerator,其中包含一个事件ItemsChanged。我能够通过检查确保Ite

我有两个列表框,我正在从一个项目拖动到另一个项目。使用Silverlight 3工具包的ListBoxDragDropTarget的2009年11月版本。我在第二个列表框的Drop事件上有一个EventHandler。我正在尝试获取正在插入的项的索引,以便在项集合中看到它前面的内容。有人知道如何获取要添加到已删除项上的项的索引吗

我想我找到了解决办法

在列表框(toList)上有一个ItemsContainerGenerator,其中包含一个事件ItemsChanged。我能够通过检查确保ItemsChangedEventArgs(e)操作是add,然后根据ItemsChangedEventArgs返回的位置计算出索引,从而将项目放入列表框。下面是代码

刚刚通过InitializeComponent()添加新的事件处理程序

toList.ItemContainerGenerator.ItemsChanged+=新系统.Windows.Controls.Primitives.ItemsChangedEventHandler(ItemContainerGenerator\u ItemsChanged)

然后添加处理程序本身

空虚 ItemContainerGenerator\u ItemsChanged(对象 发件人, System.Windows.Controls.Primitives.ItemsChangedEventArgs e) {if(e.Action)== System.Collections.Specialized.NotifyCollectionChangedAction.Add) {int index=(e.Position.index+ e、 位置。偏移);对象对象对象= toList.Items[索引];}


我想我找到了解决办法

在列表框(toList)上有一个ItemsContainerGenerator,其中包含一个事件ItemsChanged。我能够通过检查确保ItemsChangedEventArgs(e)操作是add,然后根据ItemsChangedEventArgs返回的位置计算出索引,从而将项目放入列表框。下面是代码

刚刚通过InitializeComponent()添加新的事件处理程序

toList.ItemContainerGenerator.ItemsChanged+=新系统.Windows.Controls.Primitives.ItemsChangedEventHandler(ItemContainerGenerator\u ItemsChanged)

然后添加处理程序本身

空虚 ItemContainerGenerator\u ItemsChanged(对象 发件人, System.Windows.Controls.Primitives.ItemsChangedEventArgs e) {if(e.Action)== System.Collections.Specialized.NotifyCollectionChangedAction.Add) {int index=(e.Position.index+ e、 位置。偏移);对象对象对象= toList.Items[索引];}