在树视图中拖放,在节点之间插入

时间:2011-11-28 14:33:22

标签: wpf drag-and-drop treeview

我正在通过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上。

0 个答案:

没有答案