我有一个客户列表,我用它来创建像这样的元素:
Foreach(Customer c in Customers)
{
//Make the StyledStringElement
//Set the Tapped to action a touch
element.Tapped += () => { Push (new SomeController (c.ClientId)); };
}
问题在于,当点击元素时,它会将最后一个客户发送到SomeController ()。
如何使用识别客户的信息设置分接代表?
答案 0 :(得分:13)
您需要将客户保留为循环中的本地变量:
foreach(Customer c in Customers)
{
//Make the StyledStringElement
//Set the Tapped to action a touch
var currentCustomer = c;
element.Tapped += () => { Push (new SomeController (currentCustomer.ClientId)); };
}
但这不是MonoTouch.Dialog的限制。 Here's一篇关于一般问题的文章。