gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 20:02:34 33 4
gpt4 key购买 nike

如何设置 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/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com