希望这是一个简单的问题。我使用Silverlight Toolkit中的ListBoxDragDropTarget
来设置从一个ListBox
到另一个的拖放。我似乎无法让事件发生。这是我的XAML代码:拖动事件不会为Silverlight中的ListBox启动
<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!"));
}
正如你所看到的,我的目标是为真实的东西简单。我试着为customerFields
列表框指定一个事件处理程序给父节点ListBoxDragDropTarget
;讽刺的是,这工作。
我这里的目的是让用户导入一个文本文件,并在一个列表框中获得文件列标题的列表,然后将它们连接到第二个列表框中列出的数据字段。所以没有列表重新排序或将项目从一个列表移动到另一个列表。
该columnHeadings.ItemsSource
属性是一个string[]
对象。 customerFields.ItemsSource
属性是IEnumerable<string>
对象。
任何有识之士将不胜感激。