【发布时间】:2018-02-01 18:37:49
【问题描述】:
我有一个列表框,我必须在其中启用虚拟化。然后,我有一张地图,上面绘制了需要让用户单击它们的功能的项目。当他们单击一个项目时,我需要将该项目显示在列表框中。
问题在于虚拟化。当我尝试抓取容器时,它返回 null,这是有道理的,但是正确的做法是什么?我已经尝试了一些东西,例如UpdateLayout(),但我还没有找到答案。有什么想法吗?
var container = lstItems.ItemContainerGenerator.ContainerFromItem(clickedItem);
if (container != null)
{
var exp = container.Descendants().OfType<Expander>().FirstOrDefault();
if (exp != null)
{
exp.IsExpanded = true;
exp.BringIntoView();
}
}
【问题讨论】:
标签: c# wpf listbox virtualization