我的ViewModel中有一个ObservableRangeCollection Person,它通过ItemsSource在XAML中绑定到一个CollectionView。DataTemplate是Person类型,因此可以显示它们。
目前,我不知道如何进行通过CollectionView中的IsGrouped-Option提供的分组。
我如何根据人名的第一个字母来介绍不同的组,这样我就有了一个组A”,其中所有人的名字都以字母A”开头。
我的ObservableRangeCollection是从SQLite数据库的值填充的,该数据库没有组,只有Person的详细信息。
3条答案
按热度按时间vwkv1x7d1#
如果要根据人员的名称
first character
对人员**分组,可以参考下面的示例代码:样品代码:
XAML格式:
视频模型:
分组列表.cs
型号:
输出:
pxyaymoc2#
希望这对你有所帮助。下载ListView示例=〉分组:Github
rta7y2nd3#
我的ObservableRangeCollection是从SQLite数据库的值填充的,该数据库没有组,只有Person的详细信息。
你说得好像这是一件必须保持下去的事情。显然,如果你不想分组,你就不能使用分组。所以,如果你打算保持这种方式,我认为这个问题已经回答了。
如果您最终决定创建组,您应该做的第一件事就是绑定到列表的列表。
外层列表比较简单,内层列表有属性,用于分组,扩展列表。
要创建它们,您可以修改从数据库读取它们的方式,但如果您不想或不知道如何这样做,并且希望保持当前阅读,则有一种使用LINQ的方法,以类似的方式进行另一个分组查询: