如果 itemssource 包含 0 行要显示,则不会生成 DataGrid 中的列
我正在将具有多列和零行的数据表分配给 WPF 数据网格。我正在使用自动生成的列。由于没有行可显示,因此根本不会触发 AutoGenerateColumn
事件。因为它以一种奇怪的方式呈现数据网格:一个模板行和现在的列。
有解决这个问题的方法吗?请指导。
问候, 普里扬克
I am assigning a datatable with multiple columns and zero rows to WPF data-grid. I am using auto-generated columns. As there are no rows to display the AutoGeneratingColumn
event is not at all triggered. Because of the that it renders Data-grid in a weird manner: one single template row and now columns.
Is there any workaround for this problem? Please guide.
Regards,
Priyank
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这实际上是设计使然。数据网格在内部使用反射来根据 ItemSource 集合中可用的数据类型推断列。当没有项目时,数据网格无法正确显示列标题。
有两种可能的解决方案:
它将绑定到的 clr 类型并将正确生成
列。
This is actually by design. The data grid uses reflection internally to infer the columns from the data type that is available in the ItemSource collection. When there are no items it is not possible for the data grid to display the column headers correctly.
There are two possible solution to this:
clr type to which it will be bound and will correctly generate the
columns.