2012-04-19 49 views
0

我有一个对话框,它是全屏模态弹出窗口。MonoTouch.Dialog:当不在导航控制器中时弹回父级

它有一组放射性元素。当选择一个新的屏幕,在这种情况下,显示状态。

当选择状态时,如何在没有UINavigation控制器时让屏幕“弹出”回主对话框?

var rWhoToSee = new RootElement ("What State are you in??", gWhoToSee) { 
    new Section(){ 
      new RadioElement ("ACT"), 
      new RadioElement ("NT"), 
      new RadioElement ("NSW"), 
      new RadioElement ("TAS") 
      } 
    }; 

回答

2

模态任何子对话框有一个PresentingViewController属性。这可以用来消除或用于与导致对话框出现的控件进行通信。

var vc = dlg.PresentingViewController as MyViewController; 
    dlg.DismissViewController (true,() => {}); 
0

你要问父控制器驳回使用DismissModalViewController()

+0

但是,如何从RootElement获得父视图控制器? – 2012-04-19 19:04:20

+0

好点 - 一个元素可以访问它自己的DVC吗?如果是这样,请将您父母的参考传递给您的模态DVC。如果不是,你可能需要做一些MT.D的定制。 – Jason 2012-04-19 19:07:45

0

呼叫您所选择的从你的导航控制器“啪”的方法如下图所示:

NagivationController.PopViewControllerAnimated(true); 

你也可以只组中的所有元素:

new RootElement ("Clients", new RadioGroup("clientGroup", 0)) { 
    new Section() { 
     new RadioElement ("Happy client", "clientGroup"), 
     new RadioElement ("Angry client", "clientGroup") 
    } 
}; 

使用分组目前允许它自动回弹到前一个屏幕,根元素将在标题中显示“客户端”,然后是组中的第一个选项。所以,在这种情况下,它会显示“愉快的客户”。

相关问题