在radTreeListView中拖放

本文关键字:拖放 radTreeListView | 更新日期: 2023-09-27 18:24:02

我使用拖放来使用两个RadTreeListView扭曲。现在我的问题是我无法拖动子树列表项。我只能拖动根项目。我需要从TreeListView中拖动子项,而不是根项。

在radTreeListView中拖放

如果telerik树视图的IsDragDropEnabled="True"。那么它的所有元素在默认情况下都可以被darged。为了实现自定义行为,比如您希望某些元素是可拖动的,而其他元素不应该被拖动。您可以在代码隐藏中处理RadTreeview的PreviewDragStarted事件。如果这个事件处理程序设置e.handled=true,那么它将取消拖动,反之亦然。

 private void treeListView_PreviewDragStarted(object sender, Telerik.Windows.Controls.RadTreeViewDragEventArgs e)   
       {
        //do not allow portfolio group or product to be dragged
        if (e.DraggedItems.Count > 0)
        {
            object source = e.DraggedItems[0];
            if (source is parent)
            {
                e.Handled = true;
            }
            else
            {
                e.Handled = false;
            }
        }
    }