WPF:即使listbox / Listview为空,也显示空行

时间:2015-08-22 23:46:59

标签: c# wpf

是否可以在wpf的listbox / listview中显示空行?我一直试图在我的数据之后复制一个重复的行模式,这样列表框看起来就像#34;完全"但我还没有设法弄清楚如何做到这一点。问题是列表框只会显示它所绑定的observablecollection中是否有任何数据,所以如果没有数据,列表框就不会呈现任何数据,即使有数据,它也只会显示行数observablecollection正在保持,并且没有任何行。我希望能够在数据后的列表框中显示空行,或者如果可能的话,可以在空行的重复模式中显示空行。任何帮助或提示将不胜感激。

1 个答案:

答案 0 :(得分:1)

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