【发布时间】:2012-01-08 00:04:26
【问题描述】:
我正在通过 XmlDataProvider 填充 TreeView,并且已经实现了拖放功能,因此我可以四处移动节点,并从其他位置删除节点。
但是我只实现了最简单的形式;当您放置时,它会作为子节点插入到放置它的节点中。此功能按预期工作。但我也希望能够在两个节点之间放置一个项目,以便它成为兄弟节点。
我应该如何着手解决这个问题?
目前我正在使用带有 StackPanel 的 HierarchicalDataTemplate:
<HierarchicalDataTemplate x:Key="XmlTreeTemplate">
<HierarchicalDataTemplate.ItemsSource>
<Binding XPath="child::node()" />
</HierarchicalDataTemplate.ItemsSource>
<StackPanel
AllowDrop="True"
DragEnter="StackPanelDragEnter"
DragLeave="StackPanelDragLeave"
DragOver="StackPanelDragOver"
...
Drop 事件在 TreeView 上。
【问题讨论】:
标签: wpf drag-and-drop treeview