我有一个带有 HasUnevenRows = true
的 ListView,其中每个单元格的内容开始时都是不同的,但内容也可以动态更改(通过单击单元格中的按钮) .当 ListView 最初加载时,系统必须执行计算,以便根据内容正确确定和绘制每个单元格的高度。
但是当我在初始加载后更新内容时,同样的计算显然没有完成,因为单元格的高度不会改变——直到我将该项目滚动到 View 之外然后回到视野中。
如何在不完全刷新 ListView 的情况下强制执行相同的计算并手动重绘?
我尝试将 ListView 包装在框架中并在框架上调用 .ForceLayout()
,但没有成功。
最佳答案
默认情况下不会重新计算单元格的高度,因为这是一个昂贵的过程。如果您想强制调整大小,您需要在单元格上调用 ForceUpdateSize()。
注意:这不适用于旧版本的 Xamarin Forms。它是在 2.0.0.0 中添加的,但请尝试至少更新到 2.2.0.31
关于ios - Xamarin.Forms - 强制重绘 ListView 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37414063/