1

我正在使用此代码将 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;


};

但是,尽管这确实更新了复选框项目的值,但当项目值为 false 时,出现的复选框仍保留在那里。有没有办法更新它?

4

1 回答 1

2

将您的事件更改为以下内容

applescheck.Tapped += () => {
    orangescheck.Value = false;
    orangescheck.GetActiveCell().Accessory = UITableViewCellAccessory.None;
};

orangescheck.Tapped += () => {
    applescheck.Value = false;
    applescheck.GetActiveCell().Accessory = UITableViewCellAccessory.None;
};

原因是 CheckboxElement.Value 只是一个字段,设置它没有副作用。要进行更改,您需要获取与元素关联的 UITableViewCell 并在那里应用更改。

于 2013-02-15T23:48:02.720 回答