如何判断 UWP 树视图何时通过用户的拖放更改



我有一个用户可以编辑的UWP树视图。我需要坚持他们所做的任何更改。我管理添加和删除,所以这不是问题。但是用户可以拖放TreeViewNodes来更改树的结构。

是否有事件可以让我知道以这种方式进行的更改。

我尝试了各种拖放事件,但没有成功。

是否有事件可以让我知道以这种方式进行的更改。

TreeViewNode的拖动操作可以通过DragItems相对事件来检测,例如,DragItemsStartingDragItemsCompleted。并且这些事件需要订阅您可以在默认样式中找到的TreeViewListTreeView.例如:

<TreeView >
<TreeView.Style>
<Style TargetType="TreeView"> 
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<TreeViewList x:Name="ListControl" AllowDrop="True" DragItemsStarting="ListControl_DragItemsStarting" CanReorderItems="True" CanDragItems="True" ItemContainerStyle="{StaticResource TreeViewItemStyle}" ItemTemplate="{StaticResource TreeViewItemDataTemplate}">
<TreeViewList.ItemContainerTransitions>
<TransitionCollection>
<ContentThemeTransition/>
<ReorderThemeTransition/>
<EntranceThemeTransition IsStaggeringEnabled="False"/>
</TransitionCollection>
</TreeViewList.ItemContainerTransitions>
</TreeViewList>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TreeView.Style> 
<TreeView.RootNodes>
<TreeViewNode Content="Flavors" IsExpanded="True" >
<TreeViewNode.Children>
<TreeViewNode Content="Vanilla"/>
<TreeViewNode Content="Strawberry"/>
<TreeViewNode Content="Chocolate"/>
</TreeViewNode.Children>
</TreeViewNode>
</TreeView.RootNodes>
</TreeView>
private void ListControl_DragItemsStarting(object sender, DragItemsStartingEventArgs e)
{
}

最新更新