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

标签 wpf gridview sorting listview

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

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

最佳答案

我编写了一组附加属性来自动对GridView进行排序,您可以查看here 。它不处理向上/向下箭头,但可以轻松添加。

<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>

关于wpf - 使 WPF ListView/GridView 在列标题单击时排序的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/994148/

相关文章:

c# - WPF C# : Setting background color of a WPF app not setting fully

gridview - YII2 在 gridview 中插入图标

java - 如何在 Java 中对泛型类型列表进行排序

python - 我可以在排序列表时使 python 代码工作吗

c# - 从 C# 代码启动 Storyboard

c# - 不同ViewModel的访问属性

asp.net - 在 gridview 上显示进度 img

algorithm - 从随机有序子集重建超集

wpf - 如何获取带有换行而不是截断文本的单元格的 WPF Datagrid?

Android:在gridview中用线连接项目