我有以下代码:
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”)部分(例如,在循环的相同运行期间添加了数据)。我意识到这不会发生,因为它似乎是消息元素 需要一个Action委托对tap事件做任何事情,而且我将所有内容添加到同一部分。但是,有没有办法用消息元素复制多个嵌套的根元素和节的行为?如果我创建新的页面/屏幕并试图以这种方式进行转换,它会依赖导航控制器,即使“push”设置为true,我也会失去后退按钮的使用。
答案 0 :(得分:2)
不确定你想要什么。用此替换“Item Expanded”根元素代码,使用后退按钮在导航堆栈上推送对话框viewcontoller。当然,你的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);
};