我正在使用gong解决方案拖放来在两个列表之间传输项目。我想允许拖动项目的双重行为将其复制到拖动位置,并直接拖动项目以替换它。
到目前为止,我已设法为列表中的每个项目覆盖一个不可见的项目控件,该项目占据项目高度的一半。然后在每个项目的视图模型中,我有一个下拉处理程序,它添加了一个突出显示的装饰器。不幸的是,itemscontrol出现在行的顶部(它必须接收输入),并阻止点击该行上的按钮。
在我继续沿着这条黑暗的道路前行之前,是否有一种实现我想要的非黑客方式?以下是我的观点的相关部分:
<ListView Name="Templates" dd:DragDrop.DropHandler="{Binding}" dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Grid x:Name="Grid">
<GridViewRowPresenter />
<Grid Name="DropHandler" Height="10" VerticalAlignment="Center">
<ItemsControl Name="TemplateOverwriteHack" dd:DragDrop.DropHandler="{Binding}" dd:DragDrop.IsDragSource="False" dd:DragDrop.IsDropTarget="True" Opacity="0.0" /
感谢。