计算 DataGrid 中可见行的数量
我想知道 WPF DataGrid
实际显示了多少行。
我尝试循环 DataGridRow
并检查 IsVisible
,但似乎行报告 IsVisible = true
即使它们不在 DataGrid 中视口。
如何正确计算可见行数?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我也在 MSDN 论坛上问过这个问题,并得到了 好答案:
I've asked this question also on MSDN forum and got a good answer:
我遇到了同样的问题,行显示为
Visible = true
即使它们不是。试图想出一个解决方案,我发布了这个问题: DataGrid 中的可见行减少 1(使用 ContainerFromItem 进行计数)。
这对我有用:
为了获得进一步的指导,我对链接问题的回答中有一些
/* comments */
,以及对问题本身的用户评论线索,这些评论导致了答案。I had the same problem with rows showing as
Visible = true
even when they weren't.Trying to come up with a solution, I posted this question: Visible rows in DataGrid is off by 1 (counted using ContainerFromItem).
Here's what worked for me:
For further guidance, there are some
/* comments */
in my answer on the linked question, as well as a thread of user comments on the question itself that led to the answer.我想到了一个简单的技巧,
循环遍历所有行并检查项目是否有容器?
希望这有帮助
a simple hack come to mind,
loop over all rows and check if item has a container?
hope this helps
如果您需要另一个 xaml 元素,只需通过“ElementName”添加引用,并通过“Items.Count”添加属性到您的内容属性(在本例中为“Text”)。您还可以使用转换器来解析该值。
If you need it for another xaml element just add a reference via "ElementName" and the property via "Items.Count" to your content property(in this case "Text"). You might also use a converter to parse the value.