0

我有以下代码:

Section _section = new Section ("Test");


foreach (ExampleData data in Example.data) {

     MessageElement Item = new MessageElement (){

    Sender = data.Name,
    Subject = data.Value,
    Body = data.Description,
    Date = data.Modified
         } ;

          _section.Add(Item);


            var root = new RootElement("Item Expanded"){

                new Section ("test2"){
                    new StringElement("Field Name", data.FieldName),
                    new StringElement("Value", data.Value),
                    new StringElement("Description", data.Description)
                }


            } ;
            _section.Add(root);

        } ;



        var _rootElement = new RootElement ("Items") {
            _section
        } ;

我希望它以这样的方式工作,当点击消息元素时,它会显示具有相同数据的 ("test2") 部分(例如,数据是在同一循环运行期间添加的。)我意识到这一点目前不会发生,因为消息元素似乎需要一个动作委托来对点击事件执行任何操作,另外我正在将所有内容添加到同一部分。但是,有没有办法使用消息元素复制多个嵌套根元素和部分的行为?如果我创建新页面/屏幕并尝试以这种方式进行转换,它会搁置导航控制器并且我无法使用后退按钮,即使“push”设置为 true。

4

1 回答 1

2

不确定你到底想要什么。用这个替换你的“Item Expanded”根元素代码,用后退按钮在导航堆栈上推送一个对话框视图控制器。当然,您的 DialogViewcontroller 应该首先在 UINavigation 控制器中才能正常工作

        Item.Tapped += delegate(DialogViewController arg1, UITableView arg2, NSIndexPath arg3) 
        {
            var newDialogVC = new DialogViewController(
                UITableViewStyle.Grouped,
                new RootElement("Item Expanded")
                {
                    new Section ("test2"){
                    new StringElement("Field Name", "test"),
                    new StringElement("Value", "test"),
                    new StringElement("Description", "test")
                }
                                                }
                , true);

            arg1.NavigationController.PushViewController(newDialogVC,true);
        };
于 2012-12-04T15:18:38.763 回答