最近在做一个项目的时候,用到了Listview,需要选择一个item,来进行删除。

但是当开启了

PullToRefreshListViewControl.IsMultiSelectCheckBoxEnabled = true;
PullToRefreshListViewControl.SelectionMode = ListViewSelectionMode.Multiple;

点击Item还是进入了Listview的Click事件。。。。。。

这里我们就需要用到一个小技巧了,顶一个一个全局变量 bool bMultiSelect = false;

最终效果

在Click事件中,判断是不是多选即可。

现在在xaml中定义三个button,实际工作不需要这么多,我这方便说明演示

一个是开启多选模式,一个是取消多选模式,最后是删除事件

<Button Content="MultiSelect" Click="MultiSelectClick"/>
<Button Content="CancelMultiSelect" Click="CancelMultiSelectClick"/>
<Button Content="DeleteSelected" Click="DeleteSelectedClick"/>

对应的后台code

     private void MultiSelectClick(object sender, RoutedEventArgs e)
{
bMultiSelect = true;
PullToRefreshListViewControl.IsMultiSelectCheckBoxEnabled = true;
PullToRefreshListViewControl.SelectionMode = ListViewSelectionMode.Multiple;
} private void CancelMultiSelectClick(object sender, RoutedEventArgs e)
{
bMultiSelect = false;
PullToRefreshListViewControl.IsMultiSelectCheckBoxEnabled = false;
PullToRefreshListViewControl.SelectionMode = ListViewSelectionMode.None;
} private async void DeleteSelectedClick(object sender, RoutedEventArgs e)
{
if (PullToRefreshListViewControl.SelectedItems.Count == )
{
Debug.WriteLine("No items selected");
return;
} for (int i = PullToRefreshListViewControl.SelectedItems.Count - ; i >= ; i--)
{
FaceSet fs = PullToRefreshListViewControl.SelectedItems[i] as FaceSet;
await FacePlusPlusHelper.DeletePersoninCloud(fs.FaceSetToken, fs.OuterId);
SampleItems.Remove(fs);
} if (SampleItems.Count == )
{
bMultiSelect = false;
PullToRefreshListViewControl.IsMultiSelectCheckBoxEnabled = false;
PullToRefreshListViewControl.SelectionMode = ListViewSelectionMode.None;
}
}

然后在Listview的点击事件中屏蔽一下即可

private async void PullToRefreshListViewControl_ItemClick(object sender, ItemClickEventArgs e)
{
  if(bMultiSelect)
    return;   //然后这里写单击item的代码咯
}

o, 对了,PullToRefreshListViewControl是Listview控件。

UWP Listview 多选的更多相关文章

  1. ListView多选操作模式详解CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL

    这篇文章我们将详细的介绍如何实现ListView的多选操作,文中将会纠正在使用ListViewCHOICE_MODE_MULTIPLE或者CHOICE_MODE_MULTIPLE_MODAL时容易犯的 ...

  2. listview改变选中行字体颜色

    [android]listview改变选中行字体颜色 目标:选中item,其字体设置为#3197FF,未选中的,其字体为#FFFFFF 与listvew设置选中行item背景图片一样,使用select ...

  3. Android实战之ListView复选框

    项目中有用到复选框的例子,啊啊......在网上查找有关资料,大多都是过于繁琐,所以自己决定写个这个方面的demo... 先给个效果图: 在ListView中添加复选框主要注意以下几个问题: 1.Li ...

  4. 【android】listview改变选中行背景图片

    [android]listview改变选中行背景图片 目标:当item选中时,改变其背景图片.效果图如下: 直接在listview的xml文件中使用listselector: 1 2 3 4 5 6 ...

  5. ListView多选操作模式——上下文操作模式

    1.什么叫上下文操作模式 2.如何进入上下文操作模式 1.ListView自身带了单选.多选模式,可通过listview.setChoiceMode来设置: listview.setChoiceMod ...

  6. uwp ListView列表滑动特效

    在看过一篇文章 WPF自定义控件之列表滑动特效 PowerListBox  http://www.cnblogs.com/ShenNan/p/4993374.html#3619585 实现了滑动的特效 ...

  7. ListView多选和单选模式重新整理

    超简单的单选和多选ListView 在开发过程中,我们经常会使用ListView去呈现列表数据,比如商品列表,通话记录,联系人列表等等,在一些情况下,我们还需要去选择其中的一些列表数据进行编辑.以前, ...

  8. UWP ListView嵌套ListView

    要求:加载全部的订单,每个订单里面有一个或者多个产品,在列表中要展现出来, 1. xaml界面 步骤:1.这里使用的是x:bind绑定所以要引入实体类命名空间(OrderList集合中类的命名空间): ...

  9. UWP ListView添加不同样式

    先看效果: 使用ListView的ItemTemplateSelector <ListView IsItemClickEnabled="True" ItemContainer ...

随机推荐

  1. Ionic3 下拉刷新

    参考: http://ionicframework.com/docs/api/components/refresher/Refresher/

  2. 网络基础二 tcp/ip协议簇 端口 三次握手 四次挥手 11种状态集

    第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成 ...

  3. C# group 子句

    group 子句返回一个 IGrouping<TKey,TElement> 对象序列,这些对象包含零个或更多与该组的键值匹配的项. 例如,可以按照每个字符串中的第一个字母对字符串序列进行分 ...

  4. Github从注册到上传本地项目详解!!!

    由于本人对于git并不是很熟悉,所以能从一个初学者或者说是未知者的角度去给大家解释每一步的操作. 另外如果本文不够详细的话,请参考 廖雪峰git教程  偷偷有码git从入门到上传本地项目 那么开始! ...

  5. React + Node 单页应用「一」前端搭建

    项目地址 预览地址 原文地址 记录最近做的一个 demo,前端使用 React,用 React Router 实现前端路由,Koa 2 搭建 API Server, 最后通过 Nginx 做请求转发. ...

  6. 安全框架Shiro入门

    Shiro简介 Apache Shiro是Java的一个安全框架,官网为shiro.apache.org,主要场景为控制登陆,判断用户是否有访问某个功能的权限等等. Shiro的核心功能(入门知识,只 ...

  7. HTTP协议相关知识点

    主要参考 http://www.imooc.com/article/14397,来源:慕课网,作者种子_fe HTTP是超文本传输协议,主要特点有: 支持客户.服务器模式 简单快速:客户向服务器请求服 ...

  8. 我在学JavaScript中的循环

    for (var num1 = 1;num1 < 10;num1++ ){ for (var num2 = 1;num2< 10;num2++ ){ console.log(num1+'* ...

  9. 安装scrapy框架的常见问题及其解决方法

    下面小编讲一下自己在windows10安装及配置Scrapy中遇到的一些坑及其解决的方法,现在总结如下,希望对大家有所帮助. 常见问题一:pip版本需要升级 如果你的pip版本比较老,可能在安装的过程 ...

  10. wealoha thrift-client-pool 总结

    DefaultEvictionPolicy类是EvictionPolicy接口的实现主要描述,pool中那些idel对象会被Evict,回收.关键代码如下: public boolean evict( ...