我有一个我创建的RadioGroup:
Root = new RootElement ("Club 1") {
new Section ("Club Members"){
new StringElement ("P1", "Kyle"),
new StringElement ("P2", "Matt"),
new RootElement("Members", new RadioGroup(0))
{
CreateRoot()
}
}
上面的RootElement需要显示从RadioGroup中选择的值。
RootElement CreateRoot ()
{
StringElement se = new StringElement (String.Empty);
MyRadioElement.OnSelected += delegate(object sender, EventArgs e) {
se.Caption = (sender as MyRadioElement).Caption;
var root = se.GetImmediateRootElement ();
root.Reload (se, UITableViewRowAnimation.Fade);
};
return new RootElement (String.Empty, new RadioGroup (0)) {
new Section ("Select Member") {
new MyRadioElement ("No Member Selected"),
new MyRadioElement ("Member 1"),
new MyRadioElement ("Member 2"),
new MyRadioElement ("Member 3")
}
};
}
我有一个外课:
class MyRadioElement : RadioElement {
public MyRadioElement (string s) : base (s) {}
public override void Selected (DialogViewController dvc, UITableView tableView, NSIndexPath path)
{
base.Selected (dvc, tableView, path);
var selected = OnSelected;
if (selected != null)
selected (this, EventArgs.Empty);
}
static public event EventHandler<EventArgs> OnSelected;
}
如何让所选值显示在父根元素上?
答案 0 :(得分:0)
我没有停用控制器。
class MyRadioElement:RadioElement { public MyRadioElement(string s):base(s){}
public override void Selected (DialogViewController dvc, UITableView tableView, NSIndexPath path)
{
base.Selected (dvc, tableView, path);
var selected = OnSelected;
if (selected != null)
selected (this, EventArgs.Empty);
dvc.DeactivateController(true);
}
static public event EventHandler<EventArgs> OnSelected;
}