Monotouch.Dialog RootElement打开UIViewController并传入数据

时间:2012-05-01 18:35:16

标签: xamarin.ios monotouch.dialog

有没有正确的方法来使用Monotouch.Dialog(iOs)并在用户点击RootElement时调用UIViewController?我正在构建一个基于数组的数据页面,当点击时我想打开这个自定义视图并传入数组元素。这样的东西(不起作用)。任何帮助表示赞赏。

RootElement CreateMenuCategory(JToken menucat) {

  RootElement MenuCategory = new RootElement(menucat["menucategoryname"].Value<String>());

  RootElement root_element; 
  Section section = new Section(); 
  foreach(JToken menuitem in menucat["menuitems"]) { 
    root_element = new RootElement(menuitem["menuitemname"].Value<String>(), (RootElement e) => {
        return _menuitemView.LoadMenuItem(menuitem);  // menuitem on view is always the same
  }); 

  section.Add (root_element);

  }

MenuCategory.Add (section); 

return MenuCategory; 
}

该代码不起作用,因为委托每次都会传入相同的元素。

1 个答案:

答案 0 :(得分:1)

这仅仅是lambda函数捕获“menuitem”变量的副作用。

将foreach循环更改为:

foreach (JToken iteratorMenuitem in menucat ["menuitems"]){
    var menuitem = iteratorMenuitem;
    //.. the rest