时将其从源列表框中删除
我正在尝试在两个telerik列表框之间实现拖放功能。我使用以下代码完成了
列表框1:
<telerik:RadListBox x:Name="name1" SelectionMode="Multiple" >
<telerik:RadListBox.DragVisualProvider>
<telerik:ScreenshotDragVisualProvider />
</telerik:RadListBox.DragVisualProvider>
<telerik:RadListBox.DragDropBehavior>
<telerik:ListBoxDragDropBehavior />
</telerik:RadListBox.DragDropBehavior>
</telerik:RadListBox>
列表框2:
<telerik:RadListBox x:Name="name2" AllowDrop="True">
<telerik:RadListBox.DragDropBehavior>
<telerik:ListBoxDragDropBehavior />
</telerik:RadListBox.DragDropBehavior>
</telerik:RadListBox>
添加此样式:
<Style TargetType="telerik:RadListBoxItem" >
<Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True" />
</Style>
它工作得很好,但我不希望在将元素拖到另一个列表框
来自telerik关于树视图的帮助(其他人也一样):
如果您希望在拖放操作完成后删除树视图中的项目则不处理PreviewDragEnded用于树状视图。
所以,你只需要:
<telerik:RadTreeView x:Name="radTreeView" Margin="8,8,20,8"
PreviewDragEnded="radTreeView_PreviewDragEnded"
ItemsSource="{Binding Source={StaticResource DataSource}, Path=LeaguesDataSource}"
ItemTemplate="{StaticResource League}"
IsDragDropEnabled="True"
IsDragTooltipEnabled="False"/>
代码背后:
private void radTreeView_PreviewDragEnded( object sender, RadTreeViewDragEndedEventArgs e )
{
e.Handled = true;
}