如何自定义拖放期间显示的视图?

时间:2016-05-12 06:51:04

标签: c# windows-store-apps win-universal-app

我在我的UWP应用程序上有拖放设置,我想自定义用户拖动的视图。目前它与ListViewItem完全相同,但它有Border(提供背景和圆角)我不想在拖动视图中显示。

这只是一个简单的CanDragItemsAllowDrop,其中包含DragItemsStartingDragEnterDrop个事件。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

  

但是它有一个边框(提供背景和圆角)我不想在拖动视图中显示。

要删除Bolder的{​​{1}},您不需要自定义拖动视图,只需将ListviewItem元素的子元素设置为Bolder,在设置CanDrag子元素的CanDrag属性(例如Bolder)后,拖动项目时不会看到TextBlock效果。代码示例如下:

Bolder
  

我想自定义用户拖动的视图。

如果您仍想自定义拖动UI,则可以直接使用现有的类DragUIOverride来自定义拖动视图。 例如,您不想在拖动视图中显示箭头,您可以在 <ListView x:Name="SourceListView" Header="SourceListView" SelectionMode="Extended"> <ListView.ItemTemplate> <DataTemplate> <Border Background="Pink" BorderBrush="Gray" BorderThickness="2" CornerRadius="10"> <TextBlock Text="{Binding text}" DragStarting="TextBlock_DragStarting" CanDrag="True" /> </Border> </DataTemplate> </ListView.ItemTemplate> </ListView> 事件中设置IsGlyphVisible属性,如下所示:

DragOver

官方样本为XamlDragAndDrop,scenario2显示了有关DragUI定制的详细信息。