如何在没有数据源时给出"清空ListView消息"

lou*_*luo 6 microsoft-metro windows-8 windows-runtime winjs

我的应用程序有一个带GridLayout的ListView.我现在正在尝试将ListView组引入我的应用程序.比如说,数据源通常包含Group1,Group2和Group3.我想一直显示所有3组,无论是否有元素.当组中没有元素时,我想在组标题下显示"空组"消息.

我认为WinRT处理它的默认方式不是显示空组,在许多场景中它很有意义.为此,我知道当没有数据时我可能会在列表视图中添加一个虚拟项目,但这有点像hacky.

那么,有更好的方法吗?

Kri*_*ten -1

只需将 ListView 绑定到 Group 对象的集合(其中 Group 是您定义的类,Group1、Group2 和 Group3 就是这样的 Group 对象)。

除了组级别属性(例如标题)之外,还让组包含项目对象的集合。

在 ListView 的数据模板中,使用另一个 ListView 显示每个组的 Item 元素。

但要小心,GridView 的嵌套将导致 ScrollViewers 的嵌套。您可能希望通过更改内部 GridView 的控件模板来删除 ScrollViewer。