我的页面中有一个不同部分的TableView.这种情况是当我向下滚动时我希望最后有一个类似于在顶部自动滚动的按钮.我在想使用Focus()或类似的东西,但我找不到正确的方法.有可能吗?
提前致谢.
奥斯卡
最佳答案 带有DataTemplateSelector实现的Xamarin.Forms.ListView将是最简单的方法,使其工作在他的评论中提到的
BraveHeart.但您可以通过使用自定义渲染器在本机控件上执行此操作来执行此操作.
在iOS上:
Xamarin.Forms.TableView继承自UITableView,它暴露了ScrollToRow方法.在您的情况下,您可能希望在调用此方法时在自定义渲染器中调用以下方法.
ScrollToRow(NSIndex.FromIndex(0), UITableViewScrollPosition.Top, true);
Xamarin.iOS documentation on ScrollToRow method
在Android上:
同样的想法在这里你想要在自定义渲染器中调用以下方法:
SmoothScrollToPosition(0,0);
Xamarin.Android documentation on SmoothScrollToPosition
更难的部分是弄清楚如何将Xamarin.Forms.Button.Clicked事件处理程序连接到Platform Specific Custom Renderers.您可以使用OnPropertyChanged覆盖并在Xamarin.Forms元素上使用布尔属性,该属性可以设置为触发上述方法.您还可以在Xamarin.Forms.ListView上创建自定义事件处理程序,并调用特定于平台的方法.我建议在Android here上查看Xamarin.Forms如何做到这一点.你可以做一些非常相似的事情.
我希望这有帮助!