【问题标题】:Disabling Drop on certain items in Silverlight Toolkit's TreeViewDragDropTarget在 Silverlight 工具包的 TreeViewDragDropTarget 中禁用某些项目的拖放
【发布时间】:2010-11-03 12:27:34
【问题描述】:

基本上在树形视图中,我有一个项目列表,如果项目是“组”类型,那么我可以添加/拖放项目到其中。

如何在代码中实现这一点?如果目标项不是组对象但无济于事,我尝试了 DragEnter、DragOver 事件并将 allowdrop 属性设置为 false。请问有什么建议吗?

干杯

【问题讨论】:

    标签: silverlight treeview


    【解决方案1】:

    您需要将效果设置为无(或者更具体地关闭复制/链接/移动)。

    以编程方式执行此操作的一个很好的例子是 TreeViewDragDropTarget 本身,因为它包含在您尝试将项目拖到其自身下方时类似禁用的逻辑。

    http://silverlight.codeplex.com/SourceControl/changeset/view/56962#779753

    相关的sn-p:

            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;
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多