c# - WPF 如何设置 CollectionViewSource 的最大结果量

标签 c# wpf data-binding itemscontrol collectionviewsource

我正在尝试使用 ItemsControl 中的 DataTemplate 显示一组数据,并将 ItemsPanel 设置为大小统一的网格3 x 3。 ItemsControlItemsSource 设置为绑定(bind)到 CollectionViewSource,它根据搜索词过滤源集合。这一切都很好。

我要绑定(bind)的列表是任意大小的,但我只想显示 9 个结果,但我终究无法弄清楚如何:
a) 限制 CollectionViewSource 输出前 9 个项目
b) 将 UniformPanel 限制为仅 3 x 3 并且永远不要创建新行
c) 限制 ItemsControl 一次只允许创建 9 个数据模板。

我真的很抓狂,因为我确定这是一个常见的数据绑定(bind)场景,但我在网上找不到任何关于它的信息。

最佳答案

我能想到的两种解决方案:

如果您使用的是 View 模型,请将逻辑放在那里以创建一个您可以绑定(bind)到的属性,该属性只有 9 个元素。确保它经过单元测试,以确保不会有超过 9 个元素混入集合中。

或者,您可以使用 converter绑定(bind)项目源以将完整列表转换为前 9 项的简化列表时。

关于c# - WPF 如何设置 CollectionViewSource 的最大结果量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1914786/

相关文章:

c# - 通过套接字发送的另一端已损坏

WPF 统一网格布局

android - 如何使用Databinding实现ExoPlayer?

javascript - Angular 数据绑定(bind) - 输入类型 ="number"

javascript - 当指令中的日期选择器更新时,服务中的变量自动更新的 Angular 方式是什么?

c# - 如何使用 taskschd.dll 库从任务计划程序中查找所有正在运行和就绪的任务

c# - ZipPackage 类与 Zipfile 类

wpf - 如何在一个文档中打印多个 WPF 页面

c# - 使用 RegEx 验证字符串是否为 base64 格式?

c# - ViewModel 之间的 WPF 数据绑定(bind)