.xaml文件中的主要代码

 <ListView Name="lvMeasureData" GridViewColumnHeader.Click="Sort_Click"SelectionChanged="lvMeasureData_SelectionChanged" ><ListView.View><GridView ><GridViewColumn Header="测量日期" DisplayMemberBinding="{Binding MeasureDate,StringFormat='yyyy/MM/dd HH:mm'}" Width="180"></GridViewColumn><GridViewColumn Header="测量名称" DisplayMemberBinding="{Binding MeasureName}" Width="200"></GridViewColumn><!--<GridViewColumn Header="组织结构" DisplayMemberBinding="{Binding PersonnelCompany}" Width="100"></GridViewColumn>--><GridViewColumn Header="被测人" DisplayMemberBinding="{Binding PersonnelName}" Width="120"></GridViewColumn><GridViewColumn Header="测量模式" DisplayMemberBinding="{Binding MeasureModString}" Width="0"></GridViewColumn><GridViewColumn Header="类型" DisplayMemberBinding="{Binding MeasureTypeString}" Width="80"></GridViewColumn></GridView></ListView.View></ListView>

.xmal.cs文件中的排序方法sort()

        #region listview 控件点击列头排序方法//private ListSortDirection _sortDirection;private GridViewColumnHeader _sortColumn;private void Sort_Click(object sender, RoutedEventArgs e){GridViewColumnHeader column = e.OriginalSource as GridViewColumnHeader;if (column == null||column.Column==null){return;}if (_sortColumn == column){// Toggle sorting direction _sortDirection = _sortDirection == ListSortDirection.Ascending ?ListSortDirection.Descending :ListSortDirection.Ascending;}else{// Remove arrow from previously sorted header if (_sortColumn != null&& _sortColumn.Column!=null){_sortColumn.Column.HeaderTemplate = null;_sortColumn.Column.Width = _sortColumn.ActualWidth - 20;}_sortColumn = column;_sortDirection = ListSortDirection.Ascending;column.Column.Width = column.ActualWidth + 20;}if (_sortDirection == ListSortDirection.Ascending){column.Column.HeaderTemplate = Resources["ArrowUp"] as DataTemplate;}else{column.Column.HeaderTemplate = Resources["ArrowDown"] as DataTemplate;}string header = string.Empty;// if binding is used and property name doesn't match header content Binding b = _sortColumn.Column.DisplayMemberBinding as Binding;if (b != null){header = b.Path.Path;}ICollectionView resultDataView = CollectionViewSource.GetDefaultView((sender as ListView).ItemsSource);resultDataView.SortDescriptions.Clear();resultDataView.SortDescriptions.Add(new SortDescription(header, _sortDirection));}#endregion

运行程序,点击列头发现已实现排序功能,O(∩_∩)O哈哈~欢迎提问和指正

wpf中ListView控件点击列头排序功能实现(超简洁实用)相关推荐

  1. VB.NET中LISTVIEW控件点击列首排序问题

    最近写的程序需要点击LISTVIEW控件的列首排序,搜索了一下网上的文章代码,很少,而且是C#的代码,看了下MSDN,终于搞清楚了VB的写法,MSDN上只有按照字母顺序排序的,于是我加工了一下,可以选 ...

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

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

  3. android中ListView控件onItemClick事件中获取listView传递的数据

    http://blog.csdn.net/aben_2005/article/details/6592205 本文转载自:android中ListView控件&&onItemClick ...

  4. WPF中DataGrid控件

    WPF中DataGrid控件的个别属性使用 //设置不可自动拉伸宽度dataGrid.CanUserResizeColumns = false;//第一列不可见dataGrid.HeadersVisi ...

  5. 在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug

    在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug: SQL数据库表(Product)格式: 列:Guid     产品名称    产品规格. ...

  6. WPF中一个控件绑定另一个控件的属性

    原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin=&qu ...

  7. wpf中使用控件时,最好给控件取一个好的名字

    wpf中使用控件时,最好给控件取一个好的名字, 比如按钮A可以  取名为 btnA 这样使用会是编程清晰.

  8. WPF中通过控件Margin属性设置控件位置

    WPF中通过控件Margin属性设置控件位置 一.Margin属性简介 二.Margin在cs文件中定义 三.Margin设置控件位置 四.参考文档 一.Margin属性简介 在使用WPF进行页面设计 ...

  9. C++Builder中ListView控件用法和示例总结整理

    示例1(此示例转自ccrun 妖哥): __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner) {// 切换ListView的显示风格为详 ...

最新文章

  1. 网站性能调优开发工具: Lighthouse, Puppeteer 以及进阶部分丨 Google 开发者大会 2018...
  2. 栈和队列的算法题总结
  3. C语言试题九十之实现输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
  4. STM32——串口通信
  5. C++与Java语法上的不同,互联网 面试官 如何面试
  6. DNS服务系列之二:DNS区域传送漏洞的安全案例
  7. 关闭IE窗口时执行事件
  8. 将JSON格式的字符串转换成List集合引入gson 的jar包
  9. 排版侠html怎么复制,排版侠| 3分钟完美编辑变排版达人
  10. Android 自定义标尺滑动选择值
  11. 基于K均值聚类算法的图像分割(Matlab)
  12. 电容或电感的电压_电压和电流的超前与滞后,你能说清楚吗?
  13. win与安卓同步剪切板 快传照片
  14. java中的IO整理(上)(微信文章)
  15. 按下键盘计算机具体发生了点儿啥?
  16. Maya10个非常实用的操作技巧,让你轻松玩转Maya
  17. 2018富途证券前端实习面试总结
  18. 7-2 531 字符串_小写变大写
  19. MySQL 用户管理 - 添加用户、授权、删除用户
  20. stata的固定效应,控制时间和个体的语句

热门文章

  1. 程序猿生存指南-36 暖房party
  2. 母婴商家怎么建立自己的品牌,母婴产品传播渠道总结
  3. JavaScript二维数组的常用方法及排序
  4. 介绍一款绝对好用的词典,比金山词霸好n倍
  5. 【Hudi】数据湖Hudi核心概念与架构设计总结
  6. MATLAB代码:分布式最优潮流 含分布式光伏的配电网集群划分和集群电压协调控制
  7. 关乎你我, 这个很重要! 浅谈Java工程师的职业规划
  8. Python xlrd 读取 Excel 表格基础(一):获取sheet、行、列对象,读取数据类型等
  9. memmove详解及其模拟实现
  10. AOP学习之一 -- CGLIB使用介绍