我在我的UWP应用程序上有拖放设置,我想自定义用户拖动的视图。目前它与ListViewItem
完全相同,但它有Border
(提供背景和圆角)我不想在拖动视图中显示。
这只是一个简单的CanDragItems
和AllowDrop
,其中包含DragItemsStarting
,DragEnter
和Drop
个事件。
有办法做到这一点吗?
答案 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定制的详细信息。