<ListView   x:Name="TrackListView"  MouseDoubleClick="MouseDoubleClick"
                  SelectionChanged="SelectionChanged" >

ListView中的MouseDoubleClick双击时不触发SelectionChanged的选中事件,获取不到当前双击的Item,即this.TrackListView.SelectedItem中的数据对象为null。

protected void MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
      var item = this.TrackListView.SelectedItem as Track;//is null

//this.TrackListView.SelectedItem is null
}

如果双击时刚好触发了SelectionChanged事件,那么当前listView中的selectItem是有数据的,那怎么解决不触发时而又想获取到当前双击Item数据对象呢,方法如下:

<UserControl.Resources>
    <Style x:Key="itemstyle" TargetType="{x:Type ListViewItem}">
        <EventSetter Event="MouseDoubleClick" Handler="HandleDoubleClick" />
    </Style>
</UserControl.Resources>

<ListView Name="TrackListView" ItemContainerStyle="{StaticResource itemstyle}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Title" Width="100" HeaderTemplate="{StaticResource BlueHeader}" DisplayMemberBinding="{Binding Name}"/>
            <GridViewColumn Header="Artist" Width="100" HeaderTemplate="{StaticResource BlueHeader}" DisplayMemberBinding="{Binding Album.Artist.Name}" />
        </GridView>
    </ListView.View>
</ListView>

protected void HandleDoubleClick(object sender, MouseButtonEventArgs e)
{
    var track = ((ListViewItem) sender).Content as Track; //Casting back to the binded Track
}

转载于:https://www.cnblogs.com/ligl/p/5629802.html

WPF ListView DoubleClick相关推荐

  1. [WPF]ListView点击列头排序功能实现

    [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了.微软的MSD ...

  2. WPF ListView展示层叠信息

    原文:WPF ListView展示层叠信息 通常我们在ListView中展示一列同类数据,例如城市名称.不过可以对ListView的DataTemplate稍作修改,让其显示层叠信息.例如:需要在Li ...

  3. WPF ListView中自动生成的列

    目录 介绍 为什么我们在这里 使用情况 其他可选的视觉样式 ColWidth属性 ColSort属性 ColCellTemplate属性 另一种样式选项--排序箭头颜色 代码 属性 排序装饰器 Aut ...

  4. C#中WPF ListView绑定数据的实例详解

    C#中WPF ListView绑定数据的实例详解 发布时间: 2019-03-09 19:29:46 来源: 互联网 作者: 晨曦888 栏目: C#教程 点击: 298 这篇文章主要介绍了C#中WP ...

  5. 解决WPF ListView虚拟化ListViewItem的IsSelected属性MVVM双向绑定bool值后出现的绑定错乱的问题

    在一次使用WPF ListView的时候,我发现在MVVM模式下在ListView开启虚拟化的情况下,将ListViewItem的IsSelected属性与一个对应的布尔值进行双向绑定. 文档目录结构 ...

  6. C# WPF ListView控件的实例详解

    C#的WPF作为现在微软主流的桌面程序开发平台,相比过去的MFC时代,有了非常多的不同.本人刚从MFC平台转过来,以为可以轻松上手,哪知碰到了很多问题,十分不解.不得不乖乖回去看了本书,再继续回到边左 ...

  7. wpf listview 添加控件_WPF开源控件扩展库 MaterialDesignExtensions

    WPF开源控件扩展库 - MaterialDesignExtensions MaterialDesignExtensions仓库截图 logo Material Design Extensions 在 ...

  8. wpf listview mysql_Kivy:使用MySQL的Kivy页面的Listview实现

    我正在使用kivyui创建一个页面,我需要一个插入MySQL表中的值的表,我可以与它们交互,基本上切换到一个新页面,其中包含MySQL表行的信息.我的问题是创建表.我似乎找不到使用mysql的教程,甚 ...

  9. WPF:ListView数据绑定及Style

    DrugRecordsWin.xaml <ListView Grid.Row="4" Grid.Column="1" Name="list_Dr ...

最新文章

  1. ubuntu服务器启动过程中重启卡死的问题解决办法
  2. linux监控命令详解
  3. Bootstrap-CSS-排版
  4. DIV CSS在不同IE版本和FF以及Chrome中的兼容性差异解决方法(推荐)
  5. Forget Yourself
  6. 基于Task的异步模式的定义
  7. Windows10新版本设置卓越性能
  8. C语言:数组排序(选择法排序)
  9. el-progress入门学习
  10. 部分双机热备软件详细介绍-行云管家
  11. python-伪随机数生成器
  12. 01.电脑黑客基本知识
  13. cf为什么一直连接服务器失败,为什么cf连接服务器失败的解决方法
  14. 为什么说运维的未来必然是 AIOps?
  15. php 微信小程序签到打卡,微信小程序实现打卡日历功能
  16. Unity3D 对于在VR中普通摄像头和VR摄像头同时存在——分屏
  17. python脚本编程读后感_Python编程:从入门到实践经典读后感10篇
  18. redis缓存穿透和缓存雪崩的浅析以及解决方案
  19. 高版本android怎么玩低版本游戏,手机玩安卓系统安装变态版手游常见问题解决方法_android游戏安装教程详解...
  20. 添加附件按钮,并上传文件

热门文章

  1. Win64 驱动内核编程-30.枚举与删除线程回调
  2. poj2987最大权闭包(输出最少建塔个数)
  3. POJ2239简单二分匹配
  4. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 单位脉冲序列 δ(n) 傅里叶变换 )
  5. 【FluidSynth】SoundFont 音源文件资料收集 ( SoundFont 规范 | SoundFont 音源下载 | SoundFont 编辑器 | 博客资源 )
  6. 【Netty】Netty 核心组件 ( ChannelHandlerContext )
  7. leetcode(78)子集
  8. css之line-height及图片文字垂直居中
  9. 小程序---canvas画图,生成分享图片,画图文字换行
  10. 上周热点回顾(9.7-9.13)