使用绑定时滚动 Xamarin Forms 列表视图

Posted

技术标签:

【中文标题】使用绑定时滚动 Xamarin Forms 列表视图【英文标题】:Scroll Xamarin Forms listview when using bindings 【发布时间】:2017-11-29 05:13:00 【问题描述】:

我是 Xamarin 和 MVVM 的新手,所以这可能是一个愚蠢的问题。

我有一个使用可观察集合填充的 ListView,该集合由视图模型添加。

我想要做的是当添加一个项目时,我想将列表视图滚动到底部,但是视图模型对列表视图控件不可见。

当一个新项目被添加到它的集合中时,我怎样才能让我的列表视图滚动?

【问题讨论】:

可能最干净的事情就是自己动手,或者找一个有这种功能的包。但据我所知,没有。您可以轻松地创建ListView 的继承,检查是否有项目进入并将其滚动到视图中。 【参考方案1】:

我认为您可以使用 MessagingCenter。

在您的 ViewModel 中,当您添加新 Item 时,您可以在 MessagingCenter.Send 中发送消息,并且在您的 Page 中您可以订阅此消息。当您在 Page 中收到此消息时,您可以滚动到您的 ListView

【讨论】:

以上是关于使用绑定时滚动 Xamarin Forms 列表视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xamarin.Forms 中的 ListView 内绑定列表

如何使用 xamarin.forms-shell 在 XAML 中动态绑定类型为 <ShellContent> 的 Tab.Items 列表

Xamarin Forms ListView 绑定到 Observable 集合中的子对象列表

nunit UITest xamarin.forms:如何滚动选择器?

Xamarin.forms如何在列表中显示彼此相邻的项目

无法滚动在移动设备上使用 Xamarin.Forms 创建的 xaml 页面