使 WPF ListView/GridView 在列标题单击时排序的最佳方法?

2024-01-15

lotsInternet 上的解决方案试图填补 WPF 中这个看似非常基本的遗漏。我真的很困惑什么是“最好”的方法。例如...我希望列标题中有小的向上/向下箭头来指示排序方向。显然有 3 种不同的方法可以做到这一点,一些使用代码,一些使用标记,一些使用标记加代码,所有这些看起来都像是黑客。

有没有人以前遇到过这个问题,并找到了他们完全满意的解决方案? WPF 中缺少这样一个基本的 WinForms 功能并且需要侵入,这似乎很奇怪。


我编写了一组附加属性来自动排序GridView,你可以检查一下here http://www.thomaslevesque.com/2009/03/27/wpf-automatically-sort-a-gridview-when-a-column-header-is-clicked/。它不处理向上/向下箭头,但可以轻松添加。

<ListView ItemsSource="{Binding Persons}"
          IsSynchronizedWithCurrentItem="True"
          util:GridViewSort.AutoSort="True">
    <ListView.View>
        <GridView>
            <GridView.Columns>
                <GridViewColumn Header="Name"
                                DisplayMemberBinding="{Binding Name}"
                                util:GridViewSort.PropertyName="Name"/>
                <GridViewColumn Header="First name"
                                DisplayMemberBinding="{Binding FirstName}"
                                util:GridViewSort.PropertyName="FirstName"/>
                <GridViewColumn Header="Date of birth"
                                DisplayMemberBinding="{Binding DateOfBirth}"
                                util:GridViewSort.PropertyName="DateOfBirth"/>
            </GridView.Columns>
        </GridView>
    </ListView.View>
</ListView>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使 WPF ListView/GridView 在列标题单击时排序的最佳方法? 的相关文章

随机推荐

  • 如何配置 SCP/SFTP 文件存储?

    我的 Laravel 应用程序应该将文件复制到另一个远程主机 远程主机只能通过带有私钥的 SCP 进行访问 我想配置一个新的文件存储 https laravel com docs 5 5 filesystem 与FTP类似 https la
  • 将图像从 FilePicker/Intent 复制到另一个目录

    我正在尝试将从 Intent 收到的图像复制到另一个目录 但我还无法让它工作 需要帮忙 我的日志猫 04 29 14 56 22 778 31620 31620 com example krupal sqlitetest I Choreog
  • Elasticsearch 不同的过滤器值

    我在 elasticsearch 中有一个大型文档存储 并且想要检索不同的过滤器值以显示在 HTML 下拉列表中 一个例子是这样的 name John Doe deparments name Accounts name Management
  • ASP.NET MVC 和存储库模式理解

    所以我对 ASP NET MVC 和界面设计非常陌生 我问了很多问题 读了很多文章 试图弄清楚这一切 由于工作危机 我被要求尽我所能并学习这个环境 虽然理解起来很令人沮丧 但我正在慢慢理解它 I have created an image
  • 如何从具有相同键和值的两个数组中删除值?

    我有两个数组 array1 array param1 demo param2 some param3 array2 array value1 demo value2 some value3 我想比较这两个数组并删除所有重复值 最后 我想要这
  • 只从套接字接收一个字节

    我使用 python 编写了一个服务器程序 我试图获取一个字符串 但我只得到一个字符 我如何接收字符串 def handleclient connection while True rec connection recv 200 if re
  • 使用可运行的同一实例初始化两个线程

    使用同一个可运行对象实例初始化两个线程是不是不好的编程 使用可运行对象的单独实例进行初始化会有什么区别 并且同一可运行对象实例共享内存位置与性能有什么关系吗 public static void main String args throw
  • NPM-AUDIT 发现高漏洞。我应该做些什么?

    npm audit运行我的项目并得到这个 高指令注入 Angular devkit build Angular dev 的依赖关系 路径 angular devkit build angular gt ngtools webpack gt
  • HTML 嵌套规则到底在哪里? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人可以提供一个包含所有 HTML 最好是 HTML5 嵌套规则的文档的链接吗 例如 你不能把 div
  • 控制台2种颜色晒伤

    我正在尝试使用 Console2 在 Windows 7 电脑上使用 Solarized 颜色 但我无法让颜色正常工作 我尝试按照建议更改 console xml 中的条目here https github com stevenharman
  • 实现 ICollectionViewLiveShaping

    How is ICollectionViewLiveShaping为了过滤的目的而实施 是不是类似 public ICollectionView WorkersEmployed get set WorkersEmployed new Col
  • 如何将SQL Server查询结果的数据转换为JSON格式?

    我刚刚开始了解 Ajax 和 JSON 格式 我正在构建一个非常简单的地址簿 因此 为了简单起见 假设我有一个表有 3 列 Name Email and Phone 我的javascript jquery不是刚学的最好 但我想将从我的SQL
  • 为什么这不起作用?使用鼠标指针推动盒子

    我是 JavaScript 的初学者 试图制作一个简单的脚本 使用鼠标指针推动一个盒子 但不幸的是由于某种原因它不起作用 我希望你能帮助我 这个脚本真的很原始 到现在为止只从左边推动盒子 索引 html
  • 标记为已弃用的第三方类

    我有一些第三方库Foo与类FooBar 我认为那个班级FooBar设计得很糟糕 我想写自己的MyBar作为适配器模式 可以标注原件吗FooBar as Deprecated而不修改其代码 deprecated http download o
  • 从普通的 .aspx 页面启动 ASP MVC 项目

    我有一个在 NET 4 5 上运行的现有 ASP NET 网站 我需要将 ASP MVC 4 项目 它自己的全功能 Web 应用程序 集成到其中 以便当用户导航到某个页面时 ASP MVC 应用程序在该页面内启动 几乎就像在一个iframe
  • 在运行时替换类中的方法调用

    问题我正在使用 Fitnesse 来运行一些自动化测试 有一个名为 TableTable 的类 如果对其进行增强 我可以做一些很酷的事情 我需要做的是改变方法appendInstructions 这个类的 由于 Fitnesse 显式查找
  • WH_MOUSE 和 WH_MOUSE_LL 挂钩之间有哪些区别?

    我发现WH MOUSE并不总是被调用 问题可能是我正在使用WH MOUSE并不是WH MOUSE LL 代码 class MouseHook public static signal
  • 资产被过滤掉并且不会被提供[重复]

    这个问题在这里已经有答案了 资产被过滤掉并且不会被提供 添加Rails application config assets precompile w login js to config initializers assets rb并重新启
  • Oracle sql 查询:动态填充的数据透视表(提前)

    我需要展平一个表 但这里是棘手的部分 列是动态的 并且当添加包含新 ID 的新记录时查询应该可以工作 这是我的工作查询 简化了 IN 这实际上是数百个值 SELECT FROM select qv respnr sq question id
  • 使 WPF ListView/GridView 在列标题单击时排序的最佳方法?

    有lotsInternet 上的解决方案试图填补 WPF 中这个看似非常基本的遗漏 我真的很困惑什么是 最好 的方法 例如 我希望列标题中有小的向上 向下箭头来指示排序方向 显然有 3 种不同的方法可以做到这一点 一些使用代码 一些使用标记