visual una insertar editar desde datos consulta como actualizar actualizacion c# xamarin.ios monotouch.dialog

c# - insertar - Monotouch.Dialog: después de la selección en una tabla de RadioElement, ¿cómo actualizar una tabla dependiente?



editar dataset c# (1)

Estoy desarrollando un conversor de unidades usando Monotouch.Dialog, y tengo una ventana principal que se ve así:

Cuando toco el elemento Cantidad, selecciono una nueva Cantidad y regreso a la ventana principal, quiero actualizar los elementos de la Unidad con una tabla de unidades asociadas con la cantidad seleccionada.

Mi primer pensamiento fue hacer una actualización de las unidades en un controlador de eventos que se invocaría después de la selección de cantidad completa. Sin embargo, no he podido encontrar un evento en la API de MT.D que se activa cuando regreso de la selección de cantidad. ¿Hay algún evento en el que pueda actuar, o hay otra forma en que pueda actualizar la unidad?

Esquemáticamente, mi método AppDelegate.FinishedLaunching se ve así ahora:

public override bool FinishedLaunching (UIApplication app, NSDictionary options) { _window = new UIWindow (UIScreen.MainScreen.Bounds); _quantityGroup = new RadioGroup("Qty", 0); _fromUnitGroup = new RadioGroup("FromU", 0); _toUnitGroup = new RadioGroup("ToU", 0); var quantityElem = new RootElement("Quantity", _quantityGroup) { new Section() { new RadioElement("AbsorbedDose", "Qty") as Element, ... }}; var fromUnitElem = new RootElement("Unit", _fromUnitGroup) { new Section() }; var toUnitElem = new RootElement("Unit", _toUnitGroup) { new Section() } _rootElement = new RootElement ("Unit Converter") { new Section() { quantityElem }, new Section("From") { new EntryElement(...), fromUnitElem }, new Section("To") { new EntryElement(...), toUnitElem } }; _rootVC = new DialogViewController(_rootElement); _nav = new UINavigationController(_rootVC); _window.RootViewController = _nav; _window.MakeKeyAndVisible(); return true; }


Como señaló Jason en un comentario anterior, este problema ya había sido abordado anteriormente en SO, aquí .

La solución es extender la clase RadioElement , donde la clase OnSelected contiene un evento OnSelected y el método RadioElement.Selected se reemplaza con un método que invoca el controlador de eventos OnSelected .