jby*_*yrd 6 listview redraw ios xamarin xamarin.forms
我有一个ListView HasUnevenRows = true,其中每个单元格的内容都是变体开头,但内容也可以随时更改(通过单击单元格中的按钮).当ListView最初加载时,系统必须执行计算,以便根据每个单元格的内容正确地确定和绘制每个单元格的高度.
但是当我在初始加载后更新内容时,显然没有完成相同的计算,因为单元格的高度不会改变 - 直到我将该项目滚动到视图之外然后再返回到视图中.
如何在不完全刷新ListView的情况下强制执行相同的计算并手动重绘?
我尝试在框架中包装ListView并调用.ForceLayout()框架,但没有运气.
默认情况下不会重新计算单元格的高度,因为这是一个昂贵的过程.如果要强制重新调整大小,则需要在单元格上调用ForceUpdateSize().
注意:这不适用于旧版本的Xamarin Forms.它是在2.0.0.0中添加的,但尝试更新到至少2.2.0.31
设置你的CachingStrategy =“RetainElement”,它很昂贵,但会强制更新更多。如果你的列表不是太长,你就不会注意到。
我注意到,如果一个单元格可见,即使绑定到一个可观察集合,该单元格也不会更新,直到我向上然后向下滚动。
| 归档时间: |
|
| 查看次数: |
10060 次 |
| 最近记录: |