WPF:即使列表框/列表视图为空,也显示空行

本文关键字:列表 显示 WPF 视图 | 更新日期: 2023-09-27 18:09:11

是否可以在wpf的列表框/列表视图中显示空行?我一直试图在我的数据后复制行的重复模式,所以列表框看起来"满",但我还没有设法弄清楚如何做到这一点。问题是listbox只会显示,如果有任何数据在observablecollection它的绑定,所以如果没有数据的listbox不会渲染任何东西,即使有数据,它只会显示行observablecollection持有的数量和下面的行。我希望能够有空行出现在列表框后的数据,或空行的重复模式,如果可能的话。如有任何帮助或提示,将不胜感激。

WPF:即使列表框/列表视图为空,也显示空行

有几种方法可以达到这个效果:1)向集合中添加更多(空)行2)使用一个单独的集合来包装你的集合,并包含空行(如果你不想用额外的数据污染你的源,这是有用的)3)创建一个自定义面板使用(而不是StackPanel, WrapPanel等),你的ItemsControl可以使用它来显示项目-然后面板本身处理显示空行。这是一个比1和2更健壮和更少黑客的解决方案,但需要更多的努力和WPF知识。
4)创建ItemsControl(或ListBox/ListView)的子类,自动添加额外的项目来填充剩余的空间(类似于(3),但不是插入ListBox的自定义面板,而是自定义ListBox来创建任何面板显示的额外项目。如果您希望在不同的上下文中重用逻辑,而消费者可能希望更改所使用的Panel类型,那么这将非常有用。