/ / Monotouch Dialog Json, EntryElement use EntryEnded Event - json, events, xamarin.ios, monotouch.dialog

Monotouch Dialog Json, EntryElement utiliza EntryEnded Event - json, events, xamarin.ios, monotouch.dialog

Necesito usar MTD con Json para crear formularios dinámicamente, pero también necesito verificar la entrada del usuario:

Algunos campos solo pueden aceptar números, y otros tienen una longitud fija, etc.
Esto se puede hacer con una acción que verifica cada valor de EntryElement contra las condiciones especificadas, y luego usando algunos mensajes para informar al usuario sobre las correcciones necesarias.

Si tenemos un número bajo de campos, está bien, perocuando uno tiene más de 50 campos, esto resulta ser muy incómodo en términos de usabilidad. La solución ideal sería notificar al usuario sobre las correcciones, en el momento en que el usuario termina de escribir el EntryElement

Ahora MTD proporciona algún tipo de mecanismo para hacer esto:

JsonElement jsonElement;
jsonElement = JsonObject.Load("file.json");
((EntryElement) jsonElement["field_1"]).EntryEnded = delegate { doSomething();};

Siempre que "field_1" sea un EntryElement marcado con el atributo id con el valor "field_1"
El código anterior funciona como se esperaba, es decir: cuando cambio el foco a otra parte, se activa el evento EntryEnded. Ahora para la pregunta del millón de dólares:

¿Cómo sé a qué EntryElement corresponde el evento? o en otras palabras.
¿Cómo obtengo el ID del EntryElement cuando llamo al evento?

Si nada de lo anterior es posible, ¿cuál sería la solución adecuada?

Gracias de antemano por cualquier pista,

Respuestas

0 para la respuesta № 1

Encontré una manera de hacerlo:

((EntryElement)jsonElement ["field_1"]).EntryEnded += (object sender, EventArgs e ) =>
{
NSIndexPath pt = ((EntryElement)sender).IndexPath;
Console.WriteLine("section: "+pt.Section+" row: "+pt.Row);
};

Esta pequeña cosa imprimirá la Sección y elFila del elemento de entrada que recibió El evento EntryEnded. Esto no es exactamente como obtener la identificación, pero al menos ahora tengo información sobre su ubicación, y de esto puedo obtener mucha más información (especialmente si me ocupé de guardarla en otro lugar)

Este es probablemente un truco básico, ¡pero no lo encontré en ningún otro lado!