如何在没有数据源时提供“空ListView消息”

时间:2012-05-08 17:31:24

标签: windows-8 microsoft-metro windows-runtime winjs

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

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

那么,有没有更好的方法呢?

1 个答案:

答案 0 :(得分:-1)

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

除了组级属性(例如标题)之外,让一个组包含Item对象的集合。

在ListView的datatemplate中,使用另一个ListView显示每个Group的Item元素。

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