wpf - 将文件从资源管理器拖放到 Telerik WPF TreeView 上

标签 wpf drag-and-drop telerik

如何设置 telerik WPF RadTreeView 以允许将文件从资源管理器拖放到树节点上?

我们正常进行拖放事件,但它们不会让我们知道我们拖放到了哪个节点上。 我们目前正在尝试使用 Telerik 自定义拖放支持,但没有成功。

想法?

最佳答案

非常简单,您只需自己连接即可。这是一个简单的例子。

然后是 XAML:

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525"
    xmlns:core="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls"
    xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation">
<Grid>

    <telerik:RadTreeView x:Name="rtvMain" AllowDrop="True" IsDragDropEnabled="True" ItemPrepared="rtvMain_ItemPrepared">
        <telerik:RadTreeViewItem Header="Sport Categories">
            <telerik:RadTreeViewItem Header="Football">
                <telerik:RadTreeViewItem Header="Futsal" />
                <telerik:RadTreeViewItem Header="Soccer"/>
            </telerik:RadTreeViewItem>
            <telerik:RadTreeViewItem Header="Tennis"/>
            <telerik:RadTreeViewItem Header="Cycling"/>
        </telerik:RadTreeViewItem>
    </telerik:RadTreeView>
</Grid>

代码:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void rtvMain_ItemPrepared(object sender, RadTreeViewItemPreparedEventArgs e)
    {
        e.PreparedItem.Drop += new DragEventHandler(PreparedItem_Drop);
    }

    private void PreparedItem_Drop(object sender, DragEventArgs e)
    {
        var destinationItem = sender as RadTreeViewItem;

        if (destinationItem != null)
        {
            string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
            foreach (string file in files)
            {
                Console.WriteLine(String.Format("Trying to put {0} into the folder {1}...", file, destinationItem));
            }
        }
        e.Handled = true;
    }
}

关于wpf - 将文件从资源管理器拖放到 Telerik WPF TreeView 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6094488/

相关文章:

c# - 网格水平 View

c# - 如何在未安装 Office 2010 的计算机上安装带有 MS Access 数据库的 visual studio 2010 安装项目?

.net - WPF 装饰器有什么意义?

java如何调试拖放?

c# - 使用 IStream 拖放虚拟文件

c# - System.IO 异常 "The process cannot access the file because it is being used by another process."

c# - 试图获得等距阴影长度的公式?

c# - CollectionView.View.Refresh 上的内存泄漏

javascript - ondragover、ondragstart 和 ondrop

telerik - 格式化后如何在Kendo网格中设置单元格的对齐方式