我正在使用此代码将Checkbox组放入MonoTouch表中,并根据检查的项目更新值:
var applescheck = new CheckboxElement ("Apples", false, "purchase");
var orangescheck = new CheckboxElement ("Oranges", false, "purchase");
var Purchases = new Section () {
applescheck,
orangescheck
};
applescheck.Tapped += () => {
orangescheck.Value = false;
};
orangescheck.Tapped += () => {
applescheck.Value = false;
};
但是,虽然这确实更新了复选框项的值,但是当items值为false时,出现的复选框仍然保留在那里。有没有办法更新它?
答案 0 :(得分:2)
将您的活动更改为以下
applescheck.Tapped += () => {
orangescheck.Value = false;
orangescheck.GetActiveCell().Accessory = UITableViewCellAccessory.None;
};
orangescheck.Tapped += () => {
applescheck.Value = false;
applescheck.GetActiveCell().Accessory = UITableViewCellAccessory.None;
};
原因是CheckboxElement.Value只是一个字段,设置它没有副作用。要进行更改,您需要获取与元素关联的UITableViewCell并在其中应用更改。