protected UIClick Click(UIClick ui) { String type = this.AsyncDialog("Click", g => { UIRadioDialog di = new UIRadioDialog(); di.Title = ("关联功能"); ListItemCollection listItemCollection = di.Options;//new ListItemCollection(); listItemCollection.Add("连接扫一扫", "Scanning"); listItemCollection.Add("连接指令", "Setting"); listItemCollection.Add("连接拨号", "Tel"); listItemCollection.Add("连接网址", "Url"); return(di); }); switch (type) { case "Scanning": return(UIClick.Scanning()); case "Tel": return(UIClick.Tel(this.AsyncDialog("Tel", g => { UITextDialog di = new UITextDialog(); di.Title = ("拨号号码"); return di; }))); case "Url": return(UIClick.Url(new Uri(this.AsyncDialog("Url", g => { UITextDialog di = new UITextDialog(); di.Title = ("网址地址"); return di; })))); default: case "Setting": var c = UMC.Data.JSON.Deserialize(UMC.Data.JSON.Serialize(ui)) as Hashtable; WebMeta settings = this.AsyncDialog(g => { UIFormDialog di = new UIFormDialog(); di.Title = ("功能指令"); di.AddText("模块代码", "Model", (String)c["model"]); di.AddText("指令代码", "Command", (String)c["cmd"]); di.AddPrompt("此块内容为专业内容,请由工程师设置"); if (c.ContainsKey("send")) { Object send = c["send"]; if (send is String) { di.AddText("参数", "Send", (String)send).PlaceHolder("如果没参数,则用none"); } else { di.AddText("参数", "Send", UMC.Data.JSON.Serialize(send)).PlaceHolder("如果没参数,则用none"); } } else { di.AddText("参数", "Send").PlaceHolder("如果没参数,则用none").NotRequired(); } return(di); }, "Send"); UIClick click = new UIClick(); String Model = settings.Get("Model"); String Command = settings.Get("Command"); String Send = settings.Get("Send"); click.Send(Model, Command); if ("none".Equals(Send, StringComparison.CurrentCultureIgnoreCase) == false) { if (String.IsNullOrEmpty(Send) == false) { if (Send.StartsWith("{")) { click.Send(UMC.Data.JSON.Deserialize <WebMeta>(Send)); } else { click.Send(Send); } } } return(click); } }