我的应用程序有一个带有 GridLayout 的 ListView。我现在正在尝试将 ListView 组引入我的应用程序。比如说,数据源通常有 Group1、Group2 和 Group3。无论是否有元素,我都想一直显示所有 3 个组。当组中没有元素时,我想在组标题下显示“空组”消息。
我认为WinRT
处理它的默认方法是不显示空组,这在许多情况下都很有意义。为此,我知道在没有数据的情况下,我也许可以在列表视图中添加一个虚拟项目,但这有点不合时宜。
那么,有没有更好的方法来做到这一点?
我的应用程序有一个带有 GridLayout 的 ListView。我现在正在尝试将 ListView 组引入我的应用程序。比如说,数据源通常有 Group1、Group2 和 Group3。无论是否有元素,我都想一直显示所有 3 个组。当组中没有元素时,我想在组标题下显示“空组”消息。
我认为WinRT
处理它的默认方法是不显示空组,这在许多情况下都很有意义。为此,我知道在没有数据的情况下,我也许可以在列表视图中添加一个虚拟项目,但这有点不合时宜。
那么,有没有更好的方法来做到这一点?
只需将您的 ListView 绑定到 Group 对象的集合(其中 Group 是您定义的类,Group1、Group2 和 Group3 就是这样的 Group 对象)。
除了 Group 级别的属性(例如 Title),让 Group 包含 Item 对象的集合。
在 ListView 的数据模板中,使用另一个 ListView 来显示每个 Group 的 Item 元素。
不过要小心,GridViews 的嵌套会导致嵌套的 ScrollViewers。您可能希望通过更改其控件模板从内部 GridView 中删除 ScrollViewer。