【发布时间】:2020-06-09 02:35:30
【问题描述】:
最近我通过将其 VerticalItemSpacing 属性设置为具有预设值来更改集合视图,它似乎工作正常,但只是注意到当添加一些新元素时,它与倒数第二个元素之间的间距为零,直到我滚动视图。当我再次回到最后一个元素时,它们之间的空间出现了。这是一个已知的问题?有人知道解决方法吗?
我的数据模板是内部带有 boxviews 的网格(用于模拟背景,因为框架看起来更昂贵),这是我的 ItemsLayout 属性:
<CollectionView.ItemsLayout>
<GridItemsLayout Orientation="Vertical" VerticalItemSpacing="3" />
</CollectionView.ItemsLayout>
【问题讨论】:
-
我在我的 xamarin 表单中对其进行了测试,如果我将这些项目添加到
CollectionView它可以正常工作。我的 Xamarin 表单 nuget 包是4.6.0.726这是我正在运行的 GIF。 imgur.com/a/E2PfB1c -
@LeonLu-MSFT 该问题似乎仅在倒数第二个元素适合屏幕(水平)时出现。我有 15 个可能的数据模板,我注意到每次出现倒数第二个适合屏幕时。
-
你能提供一个关于这个问题的演示吗?
-
@LeonLu-MSFT 你可以在这里下载它wetransfer.com/downloads/… 你要查看的文件是 ChatPage.xaml 和 ChatPage.cs。您还会看到滚动抖动。实际上,主要问题是滚动时的性能。原因是我改变了我的方法,现在我遇到了这个间距问题。如果您也可以就此给我建议,我将不胜感激。
-
@LeonLu-MSFT 我几乎忘了告诉你:这是一个非常简单的例子,所以你只能点击发送按钮,它会添加一个水平适合屏幕的新元素(你会看到它没有空间),但如果你滚动视图,它就会出现空间。当应用程序启动时,请将所有内容滚动到底部,由于某种原因自动滚动的代码不像原始项目那样工作,也许我删除了一些关键代码。
标签: c# xamarin observablecollection