我在我的WPF应用程序中有一个TreeView
和Canvas
。我正在尝试实现功能,使用户可以拖动一个TreeViewItem,并在用户放置在canvas上时调用一个方法,将TreeViewItem头作为参数传递给此方法。
到目前为止,我已经完成了以下工作:
private void TreeViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.Source.GetType().Name.Equals("TreeViewItem"))
{
TreeViewItem item = (TreeViewItem)e.Source;
if (item != null)
{
DataObject dataObject = new DataObject();
dataObject.SetData(DataFormats.StringFormat, item.Header.ToString());
DragDrop.DoDragDrop(item, dataObject, DragDropEffects.Copy);
}
}
}
当我在画布上拖放时,什么都没有发生。因此,我不确定接下来该怎么做。我觉得这是一件非常小的事情,但我很困惑。如何调用方法并检测标题已被拖放?有什么想法吗?