2012-10-06 19 views
0

我有一個RadioGroup中我創建: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() 
       } 

      } 

上述需要從RadioGroup中選擇的值的顯示的rootElement的。

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

我沒有停用控制器。

類MyRadioElement:放射性元素{ 公共MyRadioElement(字符串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; 

}