我一直在尝试使用MonoTouch.Dialogs为EntryElement
做一个通用的验证机制,我认为委托ShouldReturn
可以帮助我做到这一点,但看起来我错了。
如果我像这样创建一个简单的EntryElement
:
new RootElement {
new Section {
new EntryElement(string.Empty, string.Empty, null),
new EntryElement(string.Empty, string.Empty, null)
}
}
当我测试它并在第一个输入元素中输入文本并按下一步时,一切都按预期工作,我们移动到下一个输入元素字段。
好吧,只要我将第一个条目元素设置为这样的内容:
var entry = new EntryElement(string.Empty, string.Empty, null);
entry.ShouldReturn += () => true;
输入键盘中的“下一步”功能不起作用。
我错过了什么或者我错误地理解了EntryElement.ShouldReturn的工作原理吗?
答案 0 :(得分:0)
EntryElement.SouldReturn
事件只是基础UITextField.ShouldReturn
事件的代理。即使EntryElement
缺少ShouldReturn
的文档,您也可以参考UITextField doc
对我而言,您似乎应该能够使用ShouldReturn
进行验证,但如果您希望“下一步”按钮继续有效,我将返回false。
entry.ShouldReturn += () => {
//Validate
return false;
}