Очень важно, чтобы я мог отслеживать, какой элемент перетаскивается в UWP TreeView и на какой элемент он перетаскивается. На данный момент я могу получить только перетаскиваемый предмет. Но я не могу определить, над каким элементом он перетаскивается или над каким элементом он падает. Также было бы хорошо знать в качестве предварительного просмотра, какой элемент перетаскивается, чтобы я мог выполнять больше действий (например, отменить удаление определенных элементов).
Вот мой расширенный контроль:
public class MyTreeView : TreeView
{
public MyTreeView()
{
this.DragItemsStarting += MyTreeView_DragItemsStarting; //execute ok
this.DragItemsCompleted += MyTreeView_DragItemsCompleted; //execute ok
this.DragEnter += MyTreeView_DragEnter; //does not execute?
this.Drop += MyTreeView_Drop; //does not execute?
this.DragOver += MyTreeView_DragOver; //does not execute?
}
//...
}
В xaml:
<localdata:MyTreeView
x:Name="treeview" Grid.Row="2" ItemsSource="{Binding storageFolders,Mode=OneWay}"
Style="{StaticResource TreeViewStyle1}"
ItemTemplateSelector="{StaticResource ExplorerItemTemplateSelector}"
SelectedItem="{Binding fileObject}"
SelectedIndex="{Binding IndexObj, Mode=TwoWay}"
>
</localdata:MyTreeView>
DragOver
будет вызываться, когда другой элемент TreeView поверх текущего TreeView. - person Nico Zhu - MSFT   schedule 05.06.2019