希望这是一个简单的问题。我正在使用ListBoxDragDropTarget
Silverlight Toolkit 中的 来设置从一个拖放ListBox
到另一个。我似乎无法触发该事件。这是我的 XAML 代码:
<toolkit:ListBoxDragDropTarget HorizontalAlignment="Left"
HorizontalContentAlignment="Stretch"
VerticalAlignment="Top"
VerticalContentAlignment="Stretch"
Margin="39,117,0,0"
Grid.Row="1"
AllowDrop='True'>
<ListBox x:Name='columnHeadings'
MinHeight='100'
MinWidth='100'>
</ListBox>
</toolkit:ListBoxDragDropTarget>
<toolkit:ListBoxDragDropTarget AllowDrop='True'
Grid.Column='1'
Grid.Row='1'
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
VerticalAlignment="Center"
HorizontalAlignment="Left">
<ListBox x:Name='customerFields'
Grid.Column='1'
Grid.Row='1'
Visibility='Collapsed'
Drop='CustomerFieldsDrop'>
</ListBox>
</toolkit:ListBoxDragDropTarget>
这是我在后台代码中的事件处理程序:
private void CustomerFieldsDrop(object sender, DragEventArgs e)
{
MessageBox.Show(string.Format("Something was dropped!"));
}
正如你所看到的,我的目标是一些非常简单的东西。我尝试将事件处理程序分配给列表框的父ListBoxDragDropTarget
级customerFields
;具有讽刺意味的是,这奏效了。
我在这里的目的是允许用户导入一个文本文件并在一个列表框中获取文件列标题的列表,然后将它们“连接”到第二个列表框中列出的数据字段。因此,没有列表重新排序或将项目从一个列表移动到另一个列表。
columnHeadings.ItemsSource
属性是一个string[]
对象。customerFields.ItemsSource
属性是一个IEnumerable<string>
对象。
任何见解将不胜感激。