listview拖动时背景变黑

1)通过布局属性来设定(ListView的属性中直接定义)

android:cacheColorHint=”#00000000″

2)在代码中直接设定

listView.setCacheColorHint(Color.TRANSPARENT);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF 的 ListView 控件不支持拖拽操作,但你可以通过一些技巧来实现拖拽功能。 一种实现方式是使用 PreviewMouseMove 事件来捕获鼠标移动事件,并在拖拽创建一个拖拽效果的元素。当鼠标释放,你可以将拖拽的元素插入到目标位置。 以下是一个简单的示例代码: ```xml <ListView x:Name="listView" ItemsSource="{Binding Items}"> <ListView.ItemContainerStyle> <Style TargetType="{x:Type ListViewItem}"> <EventSetter Event="PreviewMouseMove" Handler="OnItemPreviewMouseMove"/> </Style> </ListView.ItemContainerStyle> </ListView> ``` ```csharp private ListViewItem draggedItem; private Point startPoint; private void OnItemPreviewMouseMove(object sender, MouseEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed && draggedItem == null) { startPoint = e.GetPosition(null); draggedItem = (ListViewItem)sender; draggedItem.IsSelected = true; DataObject dataObject = new DataObject(draggedItem.DataContext); DragDrop.DoDragDrop(draggedItem, dataObject, DragDropEffects.Move); } } private void OnListViewDrop(object sender, DragEventArgs e) { if (draggedItem != null) { Point endPoint = e.GetPosition(null); double dx = endPoint.X - startPoint.X; double dy = endPoint.Y - startPoint.Y; if (Math.Abs(dx) > SystemParameters.MinimumHorizontalDragDistance || Math.Abs(dy) > SystemParameters.MinimumVerticalDragDistance) { int index = listView.Items.IndexOf(draggedItem.DataContext); listView.Items.Remove(draggedItem.DataContext); listView.Items.Insert(index, draggedItem.DataContext); } draggedItem.IsSelected = false; draggedItem = null; } } ``` 在上面的示例中,我们使用 PreviewMouseMove 事件来捕获鼠标移动事件,并在拖拽创建一个 ListViewItem 元素作为拖拽效果。在拖拽过程中,我们使用 DragDrop.DoDragDrop 方法来启动拖拽操作,并将需要拖拽的数据对象传递给它。 当鼠标释放,我们可以在 ListView 的 Drop 事件中获取拖拽的元素,并将它插入到目标位置。请注意,在实现拖拽操作,你需要设置 ListViewItem 的 IsSelected 属性,以便让 ListView 控件知道哪个元素被拖拽了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值