Xamarin Forms中是否有一个功能指向(向上滚动)一个标签,该标签在验证后变得可见?我要做的是:如果必填字段是空白的,我在它下面显示标签 - 说它需要填写,我有一个可滚动的页面,当标签变得可见时,我想让它通过滚动页面显示该标签到所需的位置,这样用户就会知道缺少什么 . 谢谢 .
你有 two distinct points 来实现:
first ,您的条目验证: there are many ways to do it ,但您可以查看来自Xamarin的完整文档样本:Entry validation sample
Then next ,您必须滚动到(第一个)无效的输入控件 . 这意味着你所有的条目 must be embedded into a parent Scrollview 控制 . 然后你必须找到第一个无效的UI元素滚动到(使你自己的"business"方法找到这个控件) .
然后只需调用Scrollview滚动方法 . 示例代码示例可以是:
// in your xaml.cs // public Task FocusInvalidEntryAsync() { var firstInvalidEntry = FindInvalidEntries().FirstOrDefault(); if(firstInvalidEntry != null) { return parentScrollView.ScrollToAsync(firstInvalidEntry, ScrollToPosition.MakeVisible, true); } return Task.FromResult(true); }
FindInvalidEntries() 方法是您自己的方法,用于确定UI条目无效(可能需要您的ViewModel) .
FindInvalidEntries()
然后 ScrolltoAsync() 是一个将父滚动视图滚动到所需控件的方法 . 最后一个参数指示是否要显示滚动动画 .
ScrolltoAsync()
告诉我它是否清楚!
1 回答
你有 two distinct points 来实现:
first ,您的条目验证: there are many ways to do it ,但您可以查看来自Xamarin的完整文档样本:Entry validation sample
Then next ,您必须滚动到(第一个)无效的输入控件 . 这意味着你所有的条目 must be embedded into a parent Scrollview 控制 . 然后你必须找到第一个无效的UI元素滚动到(使你自己的"business"方法找到这个控件) .
然后只需调用Scrollview滚动方法 . 示例代码示例可以是:
FindInvalidEntries()
方法是您自己的方法,用于确定UI条目无效(可能需要您的ViewModel) .然后
ScrolltoAsync()
是一个将父滚动视图滚动到所需控件的方法 . 最后一个参数指示是否要显示滚动动画 .告诉我它是否清楚!