【发布时间】:2020-05-05 13:09:13
【问题描述】:
我如何知道呈现的 listboxItem 是否在 WPF ListBox 中? 我想获取屏幕中显示的列表框项目,因为我想像自动滚动时一样将底部的项目移动到屏幕的顶部。
我已经在 Google 上搜索过,但找不到答案,我使用了如下方法,但它不适用于呈现的项目:
MyViewModel myViewModel = LbList.Items.getItemAt(0);
LbChatList.ScrollIntoView(myViewModel);
【问题讨论】:
-
您可以使用 ListBox 的 ItemContainerGenerator 来查找视口中的项目数,然后您可以遍历这些项目并检查容器的可见性,但我认为您不会这样做能够使用标准 ListBox 产生您所追求的行为。 ScrollIntoView 不会给你那种行为。您需要从头开始编写自定义控件
-
@DeanChalk 感谢您的回复。我得到了两个关于 ListBox 的信息。
-
欢迎来到 SO!询问时使用清晰的语言很重要。如果英语不是您的主要语言,请随时要求同行审查您的问题并帮助澄清它。当我们试图理解和/或纠正它时,这有助于避免出现问题。请参阅“How to Ask”和链接页面。
标签: wpf listbox itemrenderer