我正在使用DragDropListBoxTarget
control fromSilverlight Toolkit
来支持拖放行为。但我面临着这个控制的问题。
很难抓住项目被丢弃的目标元素。在 ItemDroppedOnTarget 事件参数中必须有东西。
当我拖动一个项目时,我需要当用户放下它时,一个中间事件应该修改目标项目。但我找不到实现它的方法。
我是否使用了正确的控件,或者我还有什么其他选择?
我正在使用DragDropListBoxTarget
control fromSilverlight Toolkit
来支持拖放行为。但我面临着这个控制的问题。
很难抓住项目被丢弃的目标元素。在 ItemDroppedOnTarget 事件参数中必须有东西。
当我拖动一个项目时,我需要当用户放下它时,一个中间事件应该修改目标项目。但我找不到实现它的方法。
我是否使用了正确的控件,或者我还有什么其他选择?
我有同样的问题。我最终使用了这个拖放工具。我重新编译了 Silverlight 5 的源代码。它让我知道目标。我也很懒惰,仍然想要使用工具包 DragDropTarget 控件时拖动的任何东西的幽灵拖动图片,所以我将源代码保存在其中,并且还包含在新的拖放工具中。
我定义拖动的方式:
<toolkit:ListBoxDragDropTarget AllowedSourceEffects="Copy">
<ListBox ItemsSource="{Binding Path=UnitOfWork.Templates}" Width="130" Height="360" BorderThickness="0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<dd:DragSource>
<TextBlock Text="{Binding Path=Name}" Width="120"/>
</dd:DragSource>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</toolkit:ListBoxDragDropTarget>
<dd:DropTarget Grid.Row="2" AllowDrop="True" OnDropped="Target_OnDropped">
<Border BorderBrush="Black" BorderThickness="1" Width="98" Height="30">
<TextBlock Text="Drop Here" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</dd:DropTarget>
这种方式保留了ListBoxDragDropTarget创建的拖动幽灵,同时允许我使用dd:DragSource和dd:DropTarget控件来允许更细粒度的拖放。