[英]Update a ViewCell in a TableView with UnevenRows doesn´t work correctly Xamarin.Forms
用这么多 ViewCell 填充 TableView,所以你必须滚动页面才能看到最后一个 ViewCell。 如果然后在 Tapped-Event 上更新最后一个 ViewCell(更改标签的文本),则 label.Text 不会更新..
PS:ForceUpdateSize 无法解决解决方案,因为在 iOS 上应用程序在第六次冻结。
<TableView Intent="Settings" HasUnevenRows="True">
<TableRoot>
<TableSection>
<ViewCell x:Name="DefaultViewCell" Tapped="ItemTapped">
<StackLayout>
<Label x:Name="DefaultLabel" />
</StackLayout>
</ViewCell>
<!--.....-->
</TableSection>
</TableRoot>
</TableView>
我已经测试了您的示例代码,它确实发生了您描述的现象。 虽然它不会发生在Android中,但它会发生在IOS中。 也许IOS和Android之间的Label
有些不同。
最后,我在IOS中找到了解决方案。 您可以将默认Text
值设置为Label
,然后Tapped方法可以工作。
如下:
<TableView Intent="Settings" HasUnevenRows="True" BackgroundColor="Accent" >
<TableRoot>
<TableSection>
<ViewCell x:Name="DefaultViewCell" Tapped="DefaultViewCell_Tapped">
<StackLayout>
<Label x:Name="DefaultLabel" Text="Default Text "/>
</StackLayout>
</ViewCell>
...
</TableSection>
</TableRoot>
</TableView>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.