WPF/C#-在ViewModel中添加ListBox项将我锁定在一个无限循环中

WPF/C#-在ViewModel中添加ListBox项将我锁定在一个无限循环中,c#,wpf,mvvm,listbox,scrollviewer,C#,Wpf,Mvvm,Listbox,Scrollviewer,我有一个静态高度的ScrollViewer,其中包含一组列表框。每当列表框不触发滚动条的出现时,我都希望用假数据填充它们(为了视觉目的) 当我向列表中添加元素时(在我的ViewModel中),可滚动的高度/延伸度不会改变;我猜这是因为前端没有更新。在添加另一个列表框项目之前,是否有办法强制更新UI?现在,我陷入了一个循环,直到我的应用程序崩溃 谢谢。写一个方法,检查是否需要添加一个。如果没有,它就会返回。如果是,它会添加一个,然后使用调度程序安排自己稍后再次执行,告诉它在应用程序空闲时运行。然后

我有一个静态高度的ScrollViewer,其中包含一组列表框。每当列表框不触发滚动条的出现时,我都希望用假数据填充它们(为了视觉目的)

当我向列表中添加元素时(在我的ViewModel中),可滚动的高度/延伸度不会改变;我猜这是因为前端没有更新。在添加另一个列表框项目之前,是否有办法强制更新UI?现在,我陷入了一个循环,直到我的应用程序崩溃


谢谢。

写一个方法,检查是否需要添加一个。如果没有,它就会返回。如果是,它会添加一个,然后使用调度程序安排自己稍后再次执行,告诉它在应用程序空闲时运行。然后,dispatcher将再次运行您的方法,该过程将重复,直到您不想添加更多。或者,只需测量一件你想添加的东西的大小,计算你需要占用的空间,做一些数学运算,然后添加这个数字。嗨,威尔,谢谢你的回答。我试过了,但执行速度很慢,每当我加载应用程序时,我都能看到Scrollviewer逐渐填满。你知道有没有办法解决这个问题吗?你能发布一些示例代码吗?很难仅从你的描述中给出建议?你的循环的中断条件是什么?