1
基本上在树形视图中,我有一个项目列表,如果项目是“Group”类型的项目,那么我可以添加/拖放项目到其中。在Silverlight Toolkit的TreeViewDragDropTarget中禁用删除某些项目
我怎样才能做到这一点的代码?我试过的dragenter,dragover事件如果目标项目不是一组对象,但无济于事AllowDrop属性设置为false。有什么建议吗?
干杯
基本上在树形视图中,我有一个项目列表,如果项目是“Group”类型的项目,那么我可以添加/拖放项目到其中。在Silverlight Toolkit的TreeViewDragDropTarget中禁用删除某些项目
我怎样才能做到这一点的代码?我试过的dragenter,dragover事件如果目标项目不是一组对象,但无济于事AllowDrop属性设置为false。有什么建议吗?
干杯
你要设置为无影响(或关闭复制/链接/更具体移动)。
编程这样做的一个很好的例子是内TreeViewDragDropTarget本身,因为它包含的逻辑同样禁止,如果你想在自己拖动项目。
http://silverlight.codeplex.com/SourceControl/changeset/view/56962#779753
相关片段:
if (itemsControl == null || IsTreeViewItemDraggedInDescendent(args) || IsTreeViewItemDraggedDirectlyAboveOrBelowSelf(args))
{
SW.DragDropEffects effects = args.AllowedEffects & (~(SW.DragDropEffects.Copy | SW.DragDropEffects.Link | SW.DragDropEffects.Move));
args.Effects = effects;
if (args.Effects != args.AllowedEffects)
{
args.Handled = true;
}
}