我需要使用MTD与Json进行dinamycally创建表单,但我还需要检查用户输入:
某些字段可能只接受数字,而其他字段则具有固定长度等 这可以通过一个操作来完成,该操作根据指定的条件检查每个EntryElement值,然后使用一些消息来告诉用户必要的更正。
如果我们的字段数量很少,这是好的,但是当一个字段超过50个字段时,这在可用性方面变得非常尴尬。理想的解决方案是在用户结束输入EntryElement
时通知用户有关更正的信息现在MTD提供了某种机制来实现这一目标:
JsonElement jsonElement;
jsonElement = JsonObject.Load("file.json");
((EntryElement) jsonElement["field_1"]).EntryEnded = delegate { doSomething();};
前提是“field_1”是一个标有id属性且带有“field_1”值
的EntryElement
上面的代码按预期工作,即:当我将焦点更改为另一个部分时,EntryEnded事件激活。现在为了百万美元的问题:
我如何知道Event对应哪个EntryElement?或换句话说。
如何在调用事件时获取EntryElement的ID?
如果以上都不可能是合适的解决方案吗?
提前感谢任何潜在客户,
答案 0 :(得分:0)
找到了一种方法:
((EntryElement)jsonElement ["field_1"]).EntryEnded += (object sender, EventArgs e ) =>
{
NSIndexPath pt = ((EntryElement)sender).IndexPath;
Console.WriteLine("section: "+pt.Section+" row: "+pt.Row);
};
这个小东西将打印收到的EntryElement的Section和Row EntryEnded活动。这不完全是获取id,但至少现在我有关于它的位置的信息,从这里我可以得到更多的信息(特别是如果我小心保存在其他地方)
这可能是一个基本技巧,但我在其他任何地方都找不到它!