如何获取 uwp 树视图的拖放节点?
How do I get the dropped on node of a uwp treeview?
我的 TreeViewList 控件具有以下 _OnDragItemsCompleted 事件
我想知道如何获取掉落的节点。
还是我使用了错误的事件?
private void ListControl_OnDragItemsCompleted(ListViewBase sender, DragItemsCompletedEventArgs args)
{
var obj = args.Items.FirstOrDefault(); // just get the first for now
var tvn = obj as TreeViewNode;
var item = tvn.Content as StackPanel;
var dep = item.DataContext as Department;
if (args.DropResult == DataPackageOperation.Move)
{
// how do I get the dropped on?
}
}
目前,树视图之间的拖放是预览。如果你想获得 DragItems
,你可以在 TreeView
的 ControlTemplate
中为 TreeViewList
添加 DragItemsCompleted
事件处理程序。
<Page.Resources>
<Style TargetType="TreeView">
<Setter Property="IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<TreeViewList x:Name="ListControl"
ItemTemplate="{StaticResource TreeViewItemDataTemplate}"
ItemContainerStyle="{StaticResource TreeViewItemStyle}"
CanDragItems="True"
AllowDrop="True"
DragItemsCompleted="ListControl_DragItemsCompleted"
CanReorderItems="True">
<TreeViewList.ItemContainerTransitions>
<TransitionCollection>
<ContentThemeTransition />
<ReorderThemeTransition />
<EntranceThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</TreeViewList.ItemContainerTransitions>
</TreeViewList>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
代码隐藏
private void ListControl_DragItemsCompleted(ListViewBase sender, DragItemsCompletedEventArgs args)
{
foreach (var item in args.Items)
{
var tem = item as TreeViewNode;
var parent = tem.Parent;
}
}
我的 TreeViewList 控件具有以下 _OnDragItemsCompleted 事件
我想知道如何获取掉落的节点。 还是我使用了错误的事件?
private void ListControl_OnDragItemsCompleted(ListViewBase sender, DragItemsCompletedEventArgs args)
{
var obj = args.Items.FirstOrDefault(); // just get the first for now
var tvn = obj as TreeViewNode;
var item = tvn.Content as StackPanel;
var dep = item.DataContext as Department;
if (args.DropResult == DataPackageOperation.Move)
{
// how do I get the dropped on?
}
}
目前,树视图之间的拖放是预览。如果你想获得 DragItems
,你可以在 TreeView
的 ControlTemplate
中为 TreeViewList
添加 DragItemsCompleted
事件处理程序。
<Page.Resources>
<Style TargetType="TreeView">
<Setter Property="IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<TreeViewList x:Name="ListControl"
ItemTemplate="{StaticResource TreeViewItemDataTemplate}"
ItemContainerStyle="{StaticResource TreeViewItemStyle}"
CanDragItems="True"
AllowDrop="True"
DragItemsCompleted="ListControl_DragItemsCompleted"
CanReorderItems="True">
<TreeViewList.ItemContainerTransitions>
<TransitionCollection>
<ContentThemeTransition />
<ReorderThemeTransition />
<EntranceThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</TreeViewList.ItemContainerTransitions>
</TreeViewList>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
代码隐藏
private void ListControl_DragItemsCompleted(ListViewBase sender, DragItemsCompletedEventArgs args)
{
foreach (var item in args.Items)
{
var tem = item as TreeViewNode;
var parent = tem.Parent;
}
}