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